java Date转换为string

在Java中将Date转换为String有多种方法,以下是常用的几种方式:

1. 使用 SimpleDateFormat(传统方式,Java 8之前)

import java.text.SimpleDateFormat; import java.util.Date; // 创建Date对象 Date date = new Date(); // 创建SimpleDateFormat对象,指定格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 转换为字符串 String dateString = sdf.format(date); System.out.println(dateString); // 输出:2026-01-26 10:30:45

2. 使用 DateTimeFormatter(Java 8+ 推荐)

import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Date; // 方法1:Date -> Instant -> LocalDateTime Date date = new Date(); Instant instant = date.toInstant(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); // 定义格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String dateString = localDateTime.format(formatter); System.out.println(dateString); // 方法2:更简洁的方式 String formatted = date.toInstant() .atZone(ZoneId.systemDefault()) .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

3. 使用 FastDateFormat(Apache Commons Lang)

import org.apache.commons.lang3.time.FastDateFormat; import java.util.Date; FastDateFormat fastDateFormat = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss"); String dateString = fastDateFormat.format(new Date());

4. 预定义格式示例

import java.text.SimpleDateFormat; import java.util.Date; Date date = new Date(); // 只显示日期 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(dateFormat.format(date)); // 2026-01-26 // 只显示时间 SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss"); System.out.println(timeFormat.format(date)); // 10:30:45 // 中文格式 SimpleDateFormat chineseFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); System.out.println(chineseFormat.format(date)); // 2026年01月26日 10时30分45秒 // ISO 8601格式 SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); System.out.println(isoFormat.format(date)); // 2026-01-26T10:30:45Z

5. 线程安全的格式化(Java 8+)

import java.time.format.DateTimeFormatter; import java.util.Date; // 线程安全的formatter private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); public String formatDate(Date date) { return date.toInstant() .atZone(ZoneId.systemDefault()) .format(FORMATTER); }

6. 常用格式模式

符号

含义

示例

yyyy

年份

2026

MM

月份(两位)

01

M

月份(一位或两位)

1

dd

日期(两位)

26

d

日期(一位或两位)

26

HH

24小时制小时

14

hh

12小时制小时

02

mm

分钟

30

ss

45

SSS

毫秒

123

E

星期几

Mon

a

上午/下午

PM

推荐方案

  • Java 8及以上:推荐使用DateTimeFormatter,线程安全且功能更强大

  • Java 8以下:使用SimpleDateFormat,但要注意它不是线程安全的

  • 如果需要频繁格式化,考虑使用线程局部变量(ThreadLocal)包装 SimpleDateFormat,或使用 Apache Commons Lang 的 FastDateFormat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1221002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

看清不要什么:60天松绑第二步——用“反愿景”照见你的隐形牢笼与停滞沼泽

一、从“想要”到“不想要”的认知升级上一期,我们一起启动了“60天松绑”的第一步。但一个更深层的问题随之浮现:为什么我们总是对“想要的生活”心潮澎湃,却在行动时寸步难行?一个隐秘的答案或许是:我们弄错了顺序。…

如何甄别一家靠谱的背调公司?

如何选择一家可靠的背调服务商,是企业招聘中关键却常被忽视的一环。在信息繁杂的市场中,甄别需要回归核心,关注以下几个务实维度。首先,核查其数据源的合法性与广度。专业的背调公司应具备多元、合规的信息获取渠道,而…

SimpleDateFormat 为什么线程不安全

SimpleDateFormat是线程不安全的,主要原因如下: 1. 内部状态可变性 // SimpleDateFormat 内部维护了可变状态 private StringBuffer format(Date date, StringBuffer toAppendTo, FieldDelegate delegate) {// 会修改内部的 Calendar 对象calendar.set…

【Rust开发】Rust基础语法详细解析,助力你快速通关Rust

Rust基础语法解析变量与可变性Rust中变量默认不可变,使用let声明。可变变量需添加mut关键字:let x 5; // 不可变 let mut y 10; // 可变 y 15; // 允许修改常量使用const声明,必须标注类型:const MAX_POINTS: …

性能优化:类型系统的最佳实践

性能优化:类型系统的最佳实践 欢迎继续本专栏的第三十七篇文章。在前几期中,我们已逐步深化了对 TypeScript 测试实践的理解,包括如何配置 Jest 以支持类型安全的断言和 mock,以及在异步代码中的错误处理策略。这些内容帮助我们构…

设计模式在 TypeScript 中的实现

设计模式在 TypeScript 中的实现 欢迎继续本专栏的第三十八篇文章。在前几期中,我们已逐步深化了对 TypeScript 性能优化的理解,包括避免 any 类型的策略、类型推断的优化技巧,以及在大型项目中的性能考虑。这些实践帮助我们构建了更高效和可…

2026年1月线切割机床厂家推荐排行榜,中走丝/快走丝/电火花线切割机床,穿孔机,精密高效加工设备源头厂商精选

2026年1月线切割机床厂家推荐排行榜:中走丝/快走丝/电火花线切割机床与穿孔机精密高效加工设备源头厂商精选 随着制造业向高精度、高效率、智能化方向持续演进,特种加工技术在现代工业体系中的地位日益凸显。线切割机…

C盘爆红怎么办!几招彻底清理电脑C盘空间

真实用户求救:C盘红了,我慌了! “昨天开黑突然卡死,一看C盘只剩200MB!不得不考虑清理电脑c盘空间!c盘爆红了可以删除哪些文件?怕删错系统崩了...求大神指点怎么清除电脑c盘的空间才安全&#x…

研发需求排期实战指南:工具选型、流程搭建与效能提升

在研发项目节奏日益加快、需求来源日趋多元的今天,混乱的需求排期往往会导致研发资源浪费、项目延期交付、团队精力内耗等一系列问题。然而,需求的繁杂并非最棘手的——棘手的是无法在业务价值、研发成本与时间周期之间找到平衡。研发需求排期工具的核心…

聊聊AI智能客服

一、关于AI智能客服新闻事件分析报告解读 现象概述:AI智能客服在企业服务中广泛应用,具有效率高、成本低等优势,中国智能客服市场规模不断增长,前景良好。但它存在不能解决个性化问题、交流缺乏情感、转人工流程复杂等问题,易引发用户抵触。同时,有人在探索AI客服的配置及…

破解协作低效难题:中小企业流程数字化工具及核心策略

在数字化转型浪潮下,中小企业面临着流程繁琐、协作低效、数据孤岛、成本高企等诸多痛点。相较于大型企业,中小企业资源有限、人员精简、业务灵活,传统的纸质流程或零散的办公软件早已无法满足高效运营的需求。然而,转型的难点并非…

测试用例执行进度实时同步工具指南:从流程打通到效率提效的全链路落地

在软件研发全生命周期中,测试环节是保障产品质量的核心防线,而测试用例执行的效率与透明度,直接决定了研发迭代的节奏与产品交付的质量。当测试团队跨岗位协作、多版本并行测试时,信息滞后、进度不透明、同步不及时等问题&#xf…

【无人机追踪】基于资源福利任务分配算法的无人机集群任务分配算法,完成目标攻击任务的基础上,无人机的资源利用率最大化 + 资源损耗的公平性最优附Matlab代码2

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

2026年铝板厂家推荐排行榜:幕墙铝板、氟碳铝板、木纹铝板、蜂窝铝板、异型铝板等全品类实力厂家深度解析与选购指南

2026年铝板厂家推荐排行榜:幕墙铝板、氟碳铝板、木纹铝板、蜂窝铝板、异型铝板等全品类实力厂家深度解析与选购指南 随着建筑美学与功能需求的不断演进,铝板材料以其轻质高强、耐候性强、造型丰富、绿色环保等综合优…

RAG 不是万能解,这些场景你一开始就不该用

RAG并非万能,默认滥用反致系统复杂、效果难测。它仅解决“信息获取”,不提升模型能力。最适合四类场景:动态知识更新、需答案溯源、长尾问题密集、需求尚不明确。慎用于强推理、隐性经验、高实时性及高确定性要求场…

零基础想转行网络安全?这3个方向门槛低、就业快

【收藏】网络安全转行避坑指南:零基础无需报班,3个方向半年拿offer,薪资比IT高37% 网络安全人才缺口大,零基础转行无需报班。可考虑三个方向:运维工程师(网络防护,3个月就业,起薪1.2-1.5万)&am…

运维人别内耗!转行网安,薪资翻倍+职业逆袭指南

【必收藏】运维转网络安全:3步实现薪资翻倍,告别35岁危机! 运维人员转行网络安全具有天然优势,因为运维经验(系统管理、网络配置、日志分析等)正是网安工作的基础。运维人员对安全风险的亲身经历也让他们更…

2026网络安全这趟车_你还敢上吗?

网络安全真相大揭秘:2026年入坑指南,收藏级内容,小白程序员必读 网络安全行业现状严峻:求职竞争激烈,企业需要的是真正理解攻防逻辑的人才而非工具使用者;安全部门常被视为成本中心,在公司预算…

2026年,还能继续入网络安全行业吗?那些行业不敢说的秘密

收藏!2026年网安行业生存指南:不推荐入行?先了解真相再决定 文章揭示2026年网络安全行业面临就业难、收入不稳定、企业重视度低等挑战。企业需要能发现漏洞、写工具、理解攻防逻辑的人才,而非只会使用工具的"工具人"。…

普通本科转行网络安全5年,现在月薪2W+,劝你想清楚!

【收藏级】网络安全自学指南:零基础到实战的完整路径,少走弯路必备 这是一位有五年网络安全经验的从业者分享的入门指南。作者强调行业缺的是能解决问题的人,而非只会背理论的人。文章从零基础到进阶,推荐了多个学习资源&#xf…