Spring Boot 日期格式化

这篇具有很好参考价值的文章主要介绍了Spring Boot 日期格式化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Boot 日期格式化

我们先了解下,为什么需要配置日期格式化?

通常情况下,发起一个 Http 请求,Spring Boot 会根据请求路径映射到指定 Controller 上的某个方法的参数上,接着,Spring 会自动进行类型转换

对于日期类型的参数,Spring 默认是没有配置如何将字符串转换成日期类型的

未配置日期格式化会如何?

我们新建一个 Web 项目,并定义一个接口:

package site.exception.springbootdateformat.controller;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import site.exception.springbootdateformat.entity.User;

/**
 * @time 21:03
 * @discription
 **/
@RestController
public class UserController {

    /**
     * 定义一个创建用户的接口
     * @param user
     * @return
     */
    @PostMapping("/user")
    public String createUser(User user) {
        // 打印创建时间
        System.out.println(user.getCreateTime().toString());
        return "Create user success !";
    }
}

User.java:

package site.exception.springbootdateformat.entity;

import java.io.Serializable;
import java.util.Date;

/**
 * @time 21:00
 * @discription
 **/
public class User implements Serializable {
    /**
     * 用户名
     */
    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 创建时间
     */
    private Date createTime;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

用 Postman 工具发起对该接口的表单请求,看看结果:

Spring Boot 日期格式化

服务报错,无法将字符串类型转换成 java.util.Date 类型。

配置日期格式化

要让 Spring Boot 能够按照指定的格式进行日期类型转换,需要做以下步骤:

  • 定义一个 MvcConfig 类,让其实现 WebMvcConfigurer 接口;
  • 重写 addFormatters 方法;
  • 添加一个 DateFormatter;
package site.exception.springbootdateformat.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.format.datetime.DateFormatter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


/**
 * @author www.exception.site (exception 教程网)
 * @date 2019/2/16
 * @time 20:55
 * @discription
 **/
@Configuration
public class MvcConfig implements WebMvcConfigurer {

    /**
     * 配置日期格式化
     * @param registry
     */
    @Override
    public void addFormatters(FormatterRegistry registry) {
        registry.addFormatter(new DateFormatter("yyyy-MM-dd HH:mm:ss"));
    }
}

接下来,再次以表单的形式访问 /user 接口,看看效果:

Spring Boot 日期格式化

正确输出 Create user Success !  接口,并且控制台,也打印了 createTime 值,说明 Spring Boot 已经自动帮我们做了转换操作:
Spring Boot 日期格式化

至此,如何在 Spring Boot 中配置全局的日期格式化就完成了!

注意:本节中的转换仅支持表单形式请求,不支持 application/json 的请求方式!文章来源地址https://www.toymoban.com/news/detail-711690.html

到了这里,关于Spring Boot 日期格式化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • js实现日期格式化

    获取到的是1970年1月1日至今的毫秒数 月份从0开始的所以要加1 实现日期格式化效果图 日期格式化实现效果图 其中包含封装一个不够两位数就补零的函数 一个不够两位数就补零的函数

    2024年02月13日
    浏览(77)
  • 【Java】SimpleDateFormat格式化日期

    SimpleDateFormat 是用于以区域设置敏感的方法格式化和解析日期。它允许格式化(日期文本),解析(文本日期) 对时间日期进行格式化处理 把Date对象转换为年月日时分秒格式字符串 把字符串转换为Date对象 常用的模式字母及对应关系如下:yyyy年MM月dd日HH时mm分ss秒 y 年,M 月

    2024年04月16日
    浏览(45)
  • SQL Server日期格式化

    一、时间戳的生成 使用dateDiff方法,运算当前时间到标准时间之间的秒数。 DATEDIFF(s,‘1970-01-01 00:00:00’, getdate()) 二、日期格式转换 使用convert(data_type,source_data,style)进行格式转换。利用style控制转换格式。 结果: CONVERT(nvarchar(80),getdate(),0)----07 27 2022 8:33AM CONVERT(nvarchar(80),getd

    2024年02月06日
    浏览(52)
  • MySQL中日期格式化详解

    日期在数据库中是一个常见且重要的数据类型,在MySQL中,我们可以使用各种函数和格式化选项来处理和显示日期。本文将详细介绍MySQL中的日期格式化方法,并提供相应的源代码示例。 DATE_FORMAT函数 DATE_FORMAT函数是MySQL中用于格式化日期的常用函数。它接受两个参数:日期值

    2024年02月06日
    浏览(45)
  • Excel TEXT函数格式化日期

    ⏹Excel 的 TEXT 函数用于将数值或日期格式化为指定的文本格式

    2024年02月21日
    浏览(72)
  • SQL SERVER 中日期格式化

    目录 1.date和datetime类型的区别 2. GETDATE()函数,返回当前日期时间(datetime类型) 3. CONVERT()函数,格式化日期 4. DATEPART() 函数  date是SQL Server 2008新引进的数据类型。它表示一个日期,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存

    2024年02月04日
    浏览(69)
  • Java格式化日期,时间(三种方法)

    在java中String类格式化的方法,是静态format()用于创建格式化的字符串。 format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化

    2024年02月13日
    浏览(55)
  • java.text.ParseException及日期格式化

    在优化接口时,遇到该异常,导致前端页面一直报500错误:  Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.text.ParseException: Unparseable date: \\\"Fri Apr 07 20:16:19 CST 2023\\\"] with root cause java.text.ParseExcept

    2024年02月09日
    浏览(43)
  • 【JavaScript】JavaScript日期和时间的格式化:

    一、日期和时间的格式化 1、原生方法 【1】使用 toLocaleString 方法 【2】使用 Intl.DateTimeFormat 对象 2、使用字符串操作方法 3、自定义格式化函数 【1】不可指定格式的格式化函数 【2】可指定格式的格式化函数 4、使用第三方库 二、日期和时间的其它常用处理方法 1、创建 Dat

    2024年02月10日
    浏览(55)
  • 【js】时间和时间戳转换、日期格式化

    1、时间戳转换日期方法 (格式:2023-08-17) 2、日期字符串转时间戳 3、时间戳转换日期+时间方法 date:时间戳数字(格式:2023-08-17 14:11:01) 4、 获取日期中文格式

    2024年02月12日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包