Kiroの编程指南 Kiroの编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • Java8 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • Netty
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 从零带你写netty
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • Java8 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • Netty
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 从零带你写netty
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
  • 开发工具篇

    • idea设置

      • 配置篇
      • 快捷键篇
      • debug篇
      • 插件篇
    • 玩转Git

      • 基础知识梳理
      • Git配置相关操作
      • git修改已提交人的用户名和邮箱
      • git提交规范
      • 常见问题
    • Maven相关

      • Maven简介
      • Maven常用命令
      • 依赖管理
      • Maven生命周期与插件
      • Maven项目管理工具
    • vscode设置

      • 配置篇
    • nvm使用小结
    • Apifox使用小结
    • JMeter使用小记
  • 工具库篇

    • lombok工具库

      • lombok注解使用小结
      • Builder用法解析
    • EasyExcel小记

      • 文件导入
      • 文件导出
    • 极光推送学习
    • OkHttp学习
    • BigDecimal类详解
    • PdfBox学习
    • 定时任务相关
  • 开发技巧篇

    • 常见数据校验注解
    • 字符串拼接的5种方式
    • 遍历集合的N种方式
    • 集合使用注意事项总结
    • MP使用小记
    • Stream流技巧总结
    • 字符串处理最佳实践
    • 自制代码生成器
    • 幂等性问题分析
    • SQL语句优化
    • 时间字段处理小记
      • 实体类相关注解
      • Date 字段格式化处理
        • SimpleDateFormat
        • get 方法重写
        • hutool 工具类
    • Curl用法解析
    • 列表分页的两种实现方案
    • HashMap根据value获取key
    • Map的7种遍历方式
    • 唯一索引和逻辑删除冲突解决方法
    • 正则表达式
    • 二维码扫码登录学习
    • 脱敏最佳实践
    • 日志记录相关
  • 工具类系列

    • 手写一个文件阅读器
    • 手写一个运行耗时计算器
    • 自定义实现Java Bean属性中列表元素格式校验注解及其实现
    • 父子工程项目搭建
  • 随笔

    • HttpServletRequest知识小结
    • Spring MVC 项目构建流程
    • 虚拟机固定ip地址
    • 项目部署
    • 深入理解数组
    • IIS使用小记
    • From的两种类型解析
    • 开发疑惑
    • 开发小记
    • bug解决
  • 开发日常
  • 开发技巧篇
Kiro
2023-11-14
目录

时间字段处理小记

# 时间字段处理小记

# 实体类相关注解

常见注解如下:

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// 和
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
1
2
3

具体说明:

  1. @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 注解通常在接收前端参数时使用,用于告诉框架如何将传递的日期时间字符串转换为 Date 类型的对象。

    例如,当你在控制器方法中接收前端传递的日期时间参数时,可以使用该注解来指定日期时间字符串的格式,以确保正确地解析为 Date 对象。

  2. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 注解通常在将对象序列化为 JSON 格式响应给前端时使用,用于指定日期时间字段在序列化为 JSON 时的格式。

    通过该注解,你可以确保响应中的日期时间字段以指定的格式进行格式化,以便前端能够正确地解析和显示。

建议:

个人感觉可以都用,有时候需要打印请求体参数或者需要序列化参数的时候,没有 @JsonFormat 会报错。

总结:

  1. 一个是在处理接收前端参数的时候用到(@DateTimeFormat)
  2. 一个是序列化响应给前端的时候用到(@JsonFormat)

注意:

  • GET 请求中,请求体的时间字段不能用 @JsonFormat,需要使用 @DateTimeFormat
  • 因为 GET 请求的日期是拼接在 URL 里的,需要用 spring 自带的 @DateTimeFormat(pattern="yyyy-MM-dd"),后端才能接收到参数。
  • @JsonFormat 有默认时区,用 String 接收参数或者响应数据时,不用设置时区;用 Date 时需要设置时区。

# Date 字段格式化处理

方法如下:

# SimpleDateFormat

1、在需要时进行转换

            // ...

					 // item.getAlarmTime() 返回的是一个 Date 对象
            Date alarmTime = item.getAlarmTime(); 
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String formattedTime = sdf.format(alarmTime);

            // ...
1
2
3
4
5
6
7
8

# get 方法重写

2、在实体类中重写 get 方法

    public String getAlarmTime() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return sdf.format(alarmTime);
    }
1
2
3
4

# hutool 工具类

3、DateUtil.format() 方法

DateUtil.format(record.getDate(), "yyyy年MM月dd日")
1
上次更新: 2025/4/29 05:15:44
SQL语句优化
Curl用法解析

← SQL语句优化 Curl用法解析→

Theme by Vdoing | Copyright © 2022-2025 Kiro | 豫ICP备2021022101号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式