Java如何进行时间格式化呢?
下文笔者讲述java中时间格式化的方法分享,如下所示
学习完本篇文章之后,你将掌握Java中时间格式化的方法
学习完本篇文章之后,你将掌握Java中时间格式化的方法
时间格式化简介
时间格式化: 指将时间对象按照一定的格式输出成字符串 在Java中,时间格式化通常使用SimpleDateFormat类进行实现 SimpleDateFormat基于字符串进行格式化, 字符串由日期时间格式字符组成
常用的日期时间格式字符
占位符 | 备注 |
y | 年份 |
M | 月份 |
d | 日期 |
H | 小时 |
m | 分钟 |
s | 秒钟 |
S | 毫秒 |
注意事项: SimpleDateFormat还支持一些特殊字符 如: 单引号、逗号等 可根据实际情况选择使用例:SimpleDateFormat使用示例
Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = sdf.format(date); System.out.println(dateString);
常用时间格式化示例
1.日期时间格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = sdf.format(new Date()); System.out.println(dateString); 2023-06-02 16:10:23
2.日期格式化
日期格式化常使用模式字符串为"yyyy-MM-dd" 如下所示: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String dateString = sdf.format(new Date()); System.out.println(dateString); 2023-06-02
3.时间格式化
时间格式化 常使用的模式字符串为"HH:mm:ss" 如下: SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); String dateString = sdf.format(new Date()); System.out.println(dateString); 22:42:10
自定义时间格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String dateString = sdf.format(new Date()); System.out.println(dateString); 2023年06月20日 22:43:11
线程安全问题
SimpleDateFormat是非线程安全 当多个线程同时访问同一个SimpleDateFormat实例进行时间格式化 可能会导致结果不正确 解决SimpleDateFormat不准确的情况 我们可以使用ThreadLocal来 保证每个线程独立使用自己的SimpleDateFormat。
SimpleDateFormat线程安全的写法
private static final ThreadLocal<SimpleDateFormat> sdfThreadLocal = new ThreadLocal<SimpleDateFormat>() { @Override protected SimpleDateFormat initialValue() { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); } }; public static void main(String[] args) { Date date = new Date(); String dateString = sdfThreadLocal.get().format(date); System.out.println(dateString); }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。