当前位置: 首页 > news >正文

java 设置日期返回格式的几种方式

在Java中设置Date字段的格式,通常有两种常见做法:

1. 在实体类中使用注解格式化(推荐)

import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; public class YourEntity { // 方案1: Jackson注解(适用于JSON序列化) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date entryDate; // 方案2: Spring注解(适用于表单绑定) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date entryDate; // 方案3: 使用LocalDateTime(Java 8+推荐) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime entryDateTime; // getter和setter public Date getEntryDate() { return entryDate; } public void setEntryDate(Date entryDate) { this.entryDate = entryDate; } }

2. 在配置文件中全局设置

application.yml/application.properties:

spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8

3. 手动格式化(灵活控制)

import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { // 日期转字符串 public static String formatDate(Date date, String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); return sdf.format(date); } // 字符串转日期 public static Date parseDate(String dateStr, String pattern) { try { SimpleDateFormat sdf = new SimpleDateFormat(pattern); return sdf.parse(dateStr); } catch (Exception e) { throw new RuntimeException("日期格式错误"); } } } // 使用示例 String formattedDate = DateUtil.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); Date date = DateUtil.parseDate("2024-01-15 14:30:00", "yyyy-MM-dd HH:mm:ss");

4. 使用Java 8的日期时间API(强烈推荐)

import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class YourEntity { private LocalDateTime entryDate; // 格式化显示 public String getFormattedEntryDate() { if (entryDate == null) return null; return entryDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } // 字符串设置 public void setEntryDateFromString(String dateStr) { this.entryDate = LocalDateTime.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } }

常用格式模式

格式

说明

示例

yyyy-MM-dd

年-月-日

2024-01-15

yyyy/MM/dd

年/月/日

2024/01/15

yyyy-MM-dd HH:mm:ss

完整日期时间

2024-01-15 14:30:00

yyyy年MM月dd日

中文日期

2024年01月15日

HH:mm:ss

时间

14:30:00

yyyy-MM-dd'T'HH:mm:ss

ISO格式

2024-01-15T14:30:00

最佳实践建议

  1. 后端到前端传输:使用@JsonFormat注解

  2. 前端到后端接收:使用@DateTimeFormat注解

  3. 数据库存储:使用LocalDateTime(Java 8+)

  4. 时区处理:明确指定时区,如timezone = "GMT+8"

选择哪种方式取决于你的具体需求:

  • 如果主要在JSON接口中使用,选方案1

  • 如果需要灵活控制,选方案3

  • 如果是新项目,强烈推荐使用Java 8的日期时间API(方案4)

http://www.jsqmd.com/news/84163/

相关文章:

  • SolidWorks装配体与装配图区别介绍
  • JAVA 中dao层的实体应该属于哪个层次VO,还是DTO,或者其他
  • 第十五节:基于 Redis+MQ+DB实现高并发秒杀下的扣减方案2
  • SolidWorks工程图用途及深入介绍
  • kaggle colab cpu配置
  • Flutter 应用保活与后台任务:在 OpenHarmony 上实现定时上报
  • 数据库事务、并发控制与安全机制全解析:原理、实践与避坑指南
  • 基于ADM自适应增量调制算法的Matlab性能仿真 - 功能介绍及操作指南(Matlab 20...
  • java学习日志--API文档的小白使用介绍
  • 概率论与数理统计期末复习:大数定理与中心极限定理详解(扩展版)
  • 基于Plecs仿真的全桥PSFB移相技术:375V输入,48V输出,2.5kw功率传输的电源系...
  • AutoGLM 旧安卓一键变 AI 手机:安装与使用指南
  • PMC政策文本量化评估
  • 《深析游戏社交量化逻辑:解锁留存付费的核心传导路径》
  • Flutter 与 OpenHarmony 深度集成:实现跨设备传感器数据协同监测系统
  • 五相svpwm(4矢量+双空间调制),可用于反电势正弦和非正弦的的五相电机矢量控制。 附文档说明
  • 2025年TOP8角膜塑形镜清洗与选择攻略:打破近视困扰,体验新选择
  • DETR模型融合终极指南:3步打造高稳健性目标检测系统
  • 如何设计一门领域特定语言?
  • 同花顺短线精灵副图副图指标
  • 纯电动汽车Simulink仿真模型建模详细步骤。 通过文档的形式,跟着文档一步一步操作,既可以...
  • 2025年12月苏州装修品牌调研:盛世和家装饰深度解析 - 品牌测评鉴赏家
  • Product Hunt 每日热榜 | 2025-12-13
  • B样条曲线拟合能量约束方法介绍
  • 同花顺平衡多空看图操作多空理论
  • 2025年12月苏州装修品牌深度调研:盛世和家装饰实力解析 - 品牌测评鉴赏家
  • 2025年12月苏州装修公司深度调研:盛世和家装饰的核心优势解析 - 品牌测评鉴赏家
  • linux 根据端口查看进程
  • 【GORM(3)】Go的跨时代ORM框架!—— 数据库连接、配置参数;本文从0开始教会如何配备GORM的数据库
  • 2025年12月苏州装修品牌调研:盛世和家装饰的三大核心优势解析 - 品牌测评鉴赏家