在设置日期格式期间,SimpleDateFormat不正确地将年份向前滚动 [英] SimpleDateFormat incorrectly rolling year forward during format of Date

查看:0
本文介绍了在设置日期格式期间,SimpleDateFormat不正确地将年份向前滚动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在使用一个DateUtils类,它可以帮助设置整个系统中日期的格式。 我有一个yyyyMMdd格式的日期,它是从字符串解析而来的。

我传入另一种格式以接收格式为E d MMM YY的"Period"值。

下面应该给我的周期是MON 31 DEC 18。但是它返回MON 31 DEC 19。为什么年份向前滚动?

谢谢

final SimpleDateFormat dateFormat_E_d_MMM_YY = new SimpleDateFormat("E d MMM YY");
final SimpleDateFormat dateFormat_yyyyMMdd = new SimpleDateFormat("yyyyMMdd");
final Date date = dateFormat_yyyyMMdd.parse("20181231");
System.out.println(date);
System.out.println(dateFormat_E_d_MMM_YY.format(date));

推荐答案

您使用的是E d MMM yy而不是E d MMM YY

来自文档:

y:年

Y:周年

这篇关于在设置日期格式期间,SimpleDateFormat不正确地将年份向前滚动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆