news 2026/4/18 1:23:44

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/4/4 12:51:05

Spring MVC 响应机制综合实践:页面、数据、JSON 与响应配置

Spring MVC 响应机制的核心方式返回视图(页面渲染) 通过返回视图名称(如 return "home"),配合视图解析器(InternalResourceViewResolver)定位到 /WEB-INF/views/home.jsp 等具体页面。…

作者头像 李华
网站建设 2026/4/8 20:41:02

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

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

作者头像 李华
网站建设 2026/4/9 14:02:08

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

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

作者头像 李华
网站建设 2026/4/16 17:24:11

探索基于SPWM的异步电机无速度传感器矢量控制

基于SPWM的异步电机无速度传感器矢量控制。 在电机控制领域,基于SPWM(正弦脉宽调制)的异步电机无速度传感器矢量控制技术犹如一颗璀璨的明珠,正逐渐成为众多工程师和研究人员关注的焦点。今天,咱们就来深入探究一番。…

作者头像 李华
网站建设 2026/4/8 5:00:26

【图像加密】基于DCT变换的图像加密与解密附matlab代码

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

作者头像 李华