gpt4 book ai didi

java - SimpleDateFormat ("dd-MMM-YYYY") 提前一年打印年份

转载 作者:行者123 更新时间:2023-12-02 09:13:56 25 4
gpt4 key购买 nike

我在代码中使用 SimpleDateFormat("dd-MMM-YYYY"),这给出了错误的输出。

    SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-YYYY");

System.out.println("Actual date : "+new Date()+" after Formatting : "+ dateFormat.format(new Date()));

上面的代码给出:实际日期:12月30日星期二13:51:06 IST 2014 格式化后:2015年12月30日

上面的代码是打印日期,年份提前 1 年。此问题仅可在 2014 年 12 月 28 日至 31 日期间复制。

提前致谢。——阿杰

最佳答案

您使用的是 YYYY,即“ISO-8601 周年”。它几乎总是w(“一年中的一周”)结合使用。您希望 yyyy 显示正常的日历年份。

它们不同的原因是 ISO-8601 一年中的第一周是至少包含 4 天的第一周(周一至周日)。这意味着一年的第一周包含第一个星期四。由于2015年1月1日是星期四,这意味着2014年12月29日到2015年1月4日这一周都是“2015年第1年第1周”。 (如果你看到 12 月 28 日的消息,我会感到很惊讶......)

在其他年份中,一年的头几天是上一年的第 52 或 53 周。例如,2010 年 1 月 1 日位于 2009 年周的第 53 周,2011 年 1 月 1 日位于 2010 年周的第 52 周。

关于java - SimpleDateFormat ("dd-MMM-YYYY") 提前一年打印年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27739514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com