前后端交互日期时间格式,以及 SpringBoot常用注解

一、前后端交互日期时间格式

1.1 常见格式:

1、日期字符串格式

  • 格式示例:“YYYY-MM-DD”(如"2022-02-22")
  • 其他变种包括:“MM/DD/YYYY”(如"02/22/2022")或"DD/MM/YYYY"(如"22/02/2022")
  • 说明:最常见的日期表示方法

2、24小时制时间

  • 格式示例:“HH:mm:ss”(如"12:22:22")
  • 说明:以小时、分钟和秒为单位,使用24小时制来表示时间。这种格式常用于需要精确到秒的时间表示。

3、日期+时间:

  • 格式示例:“YYYY-MM-DD HH:mm:ss”(如"2022-02-22 12:22:22")
  • 说明:结合以上两种
1.2 其他格式:

1、ISO 8601 格式

  • 格式示例:“YYYY-MM-DDTHH:mm:ss.sssZ”

  • 说明:国际标准的日期和时间表示方法,其中"T"是日期和时间的分隔符,"Z"表示时区。例如,"2023-09-29T12:34:56Z"代表2023年9月29日12时34分56秒的时间点。

2、时间戳

  • 格式示例:1631107200000(这是一个整数,代表从1970年1月1日00:00:00 UTC起经过的毫秒数)

  • 说明:时间戳是指从某个固定的起点(Unix时间的起点)以来经过的时间,通常以毫秒数表示。这种格式便于计算机处理和计算时间差。

3、AM/PM 时间

  • 格式示例:“hh:mm:ss AM” 或 “hh:mm:ss PM”(如"12:34:56 PM")
  • 说明:使用12小时制,并在时间后面加上"AM"或"PM"来表示上午或下午

在前端开发中,选择哪种格式取决于具体的应用需求和用户的偏好。例如,在需要跨时区通信的Web应用中,ISO 8601格式因其通用性和时区明确性而被广泛使用。而在面向用户的界面上,则可能会使用更为人性化的日期字符串或AM/PM时间格式。

二、SpringBoot 时间字段常用注解

处理日期和时间字段时,需要确保它们在数据库、JSON序列化和前端显示时以统一的格式出现。在SpringBoot项目中可以通过注解来实现

数据类型通常使用 LocalDateTime、Date

	/** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone=”GMT+8”)
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime; 

以下是以提供的代码片段为基础,关于常用注解的来源和说明:

  1. @TableField(fill = FieldFill.INSERT)

    来源:MyBatis-Plus框架

    作用:指定数据库表字段填充策略

    参数:fill = FieldFill.INSERT 表示该字段在插入操作时会自动填充值

  2. @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

    来源:Jackson库

    作用:指定Java对象在序列化为JSON字符串时,日期字段的格式。

    参数:

    pattern :指定序列化格式

    timezone:指定时区

    特点:前后端数据交互双向的日期时间格式化

  3. @DateTimeFormat(“yyyy-MM-dd HH:mm:ss”)

    来源:spring框架

    作用:将字符串格式化成日期

    参数:默认为序列化格式

    特点:只能格式化前端传入的日期时间数据字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值