C语言学习网

如何实现springboot日期格式处理与默认跳转首页

发表于:2022-08-12 作者:安全数据网编辑
编辑最后更新 2022年08月12日,这篇文章主要介绍"如何实现springboot日期格式处理与默认跳转首页",在日常操作中,相信很多人在如何实现springboot日期格式处理与默认跳转首页问题上存在疑惑,小编查阅了各式资料,整理出简

这篇文章主要介绍"如何实现springboot日期格式处理与默认跳转首页",在日常操作中,相信很多人在如何实现springboot日期格式处理与默认跳转首页问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何实现springboot日期格式处理与默认跳转首页"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

package com.example.airquality.conf;import org.apache.commons.lang3.StringUtils;import org.springframework.core.convert.converter.Converter;import org.springframework.stereotype.Component;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;/** * @author 韩志龙 * 配置文件,对整个项目的输入时间进行格式化于WebMvcCongig类配合使用 * @version 1.0 * @description: TODO * @date 2021/5/21 9:56 */@Componentpublic class DateConverterConfig implements Converter {    private static final List formarts = new ArrayList<>(4);    private static final String YYYY_MM = "yyyy-MM";    private static final String YYYY_MM_DD = "yyyy-MM-dd";    private static final String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";    private static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";    static{        formarts.add(YYYY_MM);        formarts.add(YYYY_MM_DD);        formarts.add(YYYY_MM_DD_HH_MM);        formarts.add(YYYY_MM_DD_HH_MM_SS);    }    @Override    public Date convert(String source) {        if (StringUtils.isBlank(source)) {            return null;        }        source = source.trim();        if(source.matches("^\\d{4}-\\d{1,2}$")){            return parseDate(source, formarts.get(0));        }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")){            return parseDate(source, formarts.get(1));        }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")){            return parseDate(source, formarts.get(2));        }else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")){            return parseDate(source, formarts.get(3));        }else {            throw new IllegalArgumentException("Invalid false value '" + source + "'");        }    }    /**     * 格式化日期     * @param dateStr String 字符型日期     * @param format String 格式     * @return Date 日期     */    private  Date parseDate(String dateStr, String format) {        Date date;        try {            DateFormat dateFormat = new SimpleDateFormat(format);            date = dateFormat.parse(dateStr);        } catch (Exception e) {            throw new IllegalArgumentException(e.getLocalizedMessage());        }        return date;    }}
package com.example.airquality.conf;import org.springframework.context.annotation.Configuration;import org.springframework.core.Ordered;import org.springframework.format.FormatterRegistry;import org.springframework.web.servlet.config.annotation.*;@Configurationpublic class WebMvcConfig extends WebMvcConfigurationSupport {    @Override    public void addViewControllers(ViewControllerRegistry registry) {        registry.addViewController("/").setViewName("redirect:/qualityIndex/toFindAll");        registry.setOrder(Ordered.HIGHEST_PRECEDENCE);        super.addViewControllers(registry);    }    /**     * 添加自定义的Converters和Formatters.     */    @Override    protected void addFormatters(FormatterRegistry registry) {        registry.addConverter(new DateConverterConfig());    }    /**     * 如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 需要重新指定静态资源     *     * @param registry     */    @Override    public void addResourceHandlers(ResourceHandlerRegistry registry) {        registry.addResourceHandler("/**")                .addResourceLocations("classpath:/static/")                .addResourceLocations("classpath:/resources/")                .addResourceLocations("classpath:/META-INF/resources/");        super.addResourceHandlers(registry);    }}

到此,关于"如何实现springboot日期格式处理与默认跳转首页"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0