当前位置: 首页> 科技> 数码 > 天津建设教育培训中心_千图网免费素材图库电脑版_惠州seo排名优化_抖音关键词推广

天津建设教育培训中心_千图网免费素材图库电脑版_惠州seo排名优化_抖音关键词推广

时间:2025/7/12 14:46:11来源:https://blog.csdn.net/wojiushiwo945you/article/details/147121996 浏览次数:0次
天津建设教育培训中心_千图网免费素材图库电脑版_惠州seo排名优化_抖音关键词推广

背景

今天解析了一个不常见的日期格式 「10-Mar-2025 16:30:47.869」,对应的 Java 日期格式是 dd-MMM-yyyy HH:mm:ss.SSS ,而且跟 Local 语言环境有关。

本文记录这个简单的解析过程,顺便回忆一下日期格式各个字段。毕竟平时只用了常见的 yyyyMMddHHmmss 这种。最重要的一点,日期字符串的格式化和解析类跟 Local 语言环境有关。

日期字段说明

关于日期的各个字段说明如下

字段说明示例
G公元时代英文环境:AD;中文环境:公元
yy年份的后2位25
yyyy完整年份2025
MM月份,显示为 1-12 ,不足两位的前面补 004
MMM月份简写英文环境:Apr ;中文环境:4月
MMMM月份全称英文环境:April;中文环境: 四月
dd日,2 位数表示,不足两位前面补 002
d日,1-2 位显示2
EEE简写星期几英文环境:Thu;中文环境: 周四
EEEE全写星期几英文环境:Thursday;中文环境: 星期四
aa上下午英文环境:AM 或 PM;中文环境:上午或下午
H小时,24小时制7
HH小时,24小时制,不足两位前面补 007
h小时,12小时制7
hh小时,12小时制,不足两位前面补 007
m分,1-2位1
mm分,2位,不足两位前面补 001
s秒,1-2位1
ss秒,2位,不足两位前面补 001
S毫秒302
ZGMT(时区)+0800

测试

根据上面的全部的日期字段,设置两种包含内容最全的格式:

  1. 全写:G yyyy-MMMM-dd HH:mm:ss.SSS EEEE aa Z
  2. 简写:G yy-MMM-d H:m:s.SSS EEE aa Z

编写代码,使用这两种格式打印当前时间:

String fullPattern = "G yyyy-MMMM-dd HH:mm:ss.SSS EEEE aa Z";
String simplePattern = "G yy-MMM-d H:m:s.SSS EEE aa Z";
SimpleDateFormat format1 = new SimpleDateFormat(fullPattern);
SimpleDateFormat format2 = new SimpleDateFormat(simplePattern);
System.out.println("中文环境下");
System.out.println("完整 G yyyy-MMMM-dd HH:mm:ss.SSS EEEE aa Z 的结果:"+format1.format(new Date()));
System.out.println("简写 G yy-MMM-d H:m:s.SSS EEE aa Z 的结果:"+format2.format(new Date()));System.out.println("英文环境下");
Locale.setDefault(Locale.ENGLISH);SimpleDateFormat formatEn = new SimpleDateFormat(fullPattern);
SimpleDateFormat formatEn2 = new SimpleDateFormat(simplePattern);
System.out.println("完整 G yyyy-MMMM-dd HH:mm:ss.SSS EEEE aa Z 的结果:"+formatEn.format(new Date()));
System.out.println("简写 G yy-MMM-d H:m:s.SSS EEE aa Z 的结果:"+formatEn2.format(new Date()));String time = "24-Mar-2025 21:10:31.791";
SimpleDateFormat parseFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss.SSS", Locale.ENGLISH);
try {Date t = parseFormat.parse(time);System.out.println("解析结果:"+t);
} catch (ParseException e) {throw new RuntimeException(e);
}

运行结果:
在这里插入图片描述
即当前时间,中英文环境下的全称如下:

  1. 中文:公元 2025-四月-10 18:47:24.508 星期四 下午 +0800
  2. 英文:AD 2025-April-10 18:47:24.523 Thursday PM +0800

启示录

详细的看了看各个字段的含义,还是挺有启发的,尤其是星期和月份的缩写和全写在中文环境下的细微区别。全写的星期和月份用于更正式的语言环境下,月份的全称是汉字数字大写形式。

一招鲜的技术说好吧也好,不好吧,也太寡闻了,除了常用的9个字段,其他基本没有听过。还有一个疑惑,为什么星期的字段名称用了 E 而不是 W 呢,星期的英文不是 Week 么?

关键字:天津建设教育培训中心_千图网免费素材图库电脑版_惠州seo排名优化_抖音关键词推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: