news 2026/2/8 8:04:49

java Date转换为string

作者头像

张小明

前端开发工程师

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

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

探索SUMO、CARLA与自动驾驶联合仿真的奇妙世界

sumo/carla/自动驾驶联合仿真 安装 配置 /教程/开发/驾驶模拟/强化学习/轨迹预测/轨迹规划 在自动驾驶领域的研究与开发中,联合仿真起着至关重要的作用。SUMO和CARLA作为两款强大的仿真工具,它们的联合使用能够为自动驾驶技术的研究带来诸多便利&#x…

作者头像 李华
网站建设 2026/2/8 17:20:17

IP6163至为芯支持MPPT功能的太阳能电池板充电DC-DC芯片

英集芯IP6163是一款应用于太阳能电池板供电的锂电池/磷酸铁锂电池充电方案芯片。集成MCU的高效光伏降压MPPT DC-DC控制器。内置专用MPPT硬件与动态算法,峰值效率达99.9%,可快速锁定太阳能电池板的最大功率点。支持6-40V宽电压输入,兼容最多72…

作者头像 李华
网站建设 2026/2/5 11:47:41

西部生态建设新范式:科技赋能重塑发展底色

来源:中国经营报 记者:索寒雪党的二十届四中全会审议通过的《中共中央关于制定国民经济和社会发展第十五个五年规划的建议》锚定“完善适应气候变化工作体系”“扎实推动西部大开发形成新格局”等战略目标,为西部开发指明了新方向。当前&am…

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

对中国市场:短期信心提振,

中长期加速 “国产替代 生态分化”(一)AI 算力与云服务市场:短期缓解 “算力焦虑”,长期倒逼自主可控短期利好:H200/B30A 落地有望补充高端算力缺口,缓解云

作者头像 李华
网站建设 2026/2/7 6:27:51

从 “卖芯片” 转向 “稳生态 + 合规落地”

对英伟达自身:从 “卖芯片” 转向 “稳生态 合规落地” 核心目标:安抚客户 传递长期承诺 受美国出口管制影响,高端 GPU(H100/H200 受限、Blackwell 系列禁售)对华销售受阻,部分客户转向国产方案或调整技术…

作者头像 李华