news 2026/7/2 5:57:41

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 23:35:05

Flutter 应用保活与后台任务:在 OpenHarmony 上实现定时上报

前言 在 OpenHarmony 生态中,许多应用场景(如健康监测、设备状态上报、位置追踪)要求应用即使在退到后台或屏幕关闭后,仍能周期性执行任务。然而,出于系统资源与电池优化的考虑,OpenHarmony 对后台进程有严…

作者头像 李华
网站建设 2026/7/2 1:36:12

【RL】verl 数据处理

您的 Eurus-2-RL-Data 数据集需要做两个主要适配:文件格式转换和字段映射配置。 快速解决方案 1. 转换文件格式(推荐) 将 arrow 文件转换为 parquet 格式: from datasets import load_dataset import os# 加载原始数据 ds lo…

作者头像 李华
网站建设 2026/7/2 1:54:24

Product Hunt 每日热榜 | 2025-12-13

1. Gemini Deep Research Agent 标语:最优秀的研究助手现已向开发者开放! 介绍:Gemini深度研究助手现在可以通过互动API提供给开发者使用。它由Gemini 3.0 Pro驱动,能够自主规划、执行和综合多步骤的研究任务。 产品网站&#…

作者头像 李华
网站建设 2026/7/1 12:46:19

Python内置函数:你以为你很熟,但这些用法90%的人不知道

你好,我是你的技术朋友。今天我想和你聊聊那些每天都在用,却可能只用了十分之一功能的Python内置函数。 想象一下,你家厨房有一套顶级厨刀,但平时只用它切切西红柿。直到有天看到大厨用同一把刀雕出一朵萝卜花,你才恍然…

作者头像 李华
网站建设 2026/7/2 1:15:16

python_基于主视频删减片段并插入镜头视频

python_基于主视频删减片段并插入镜头视频 import pyJianYingDraft as draft from pyJianYingDraft import trange, ClipSettings,timdef create_jianying_draft_from_clips(draft_name,main_video_path,delete_ranges,lens_info_dict,draft_folder_path):# 时间格式转换函数(处…

作者头像 李华