【发布时间】:2017-01-03 21:29:02
【问题描述】:
我正在根据夏威夷时区计算时间。我有一个测试场景,我的当前日期是 2017-01-01T10:52:07.656-10:00(1 月 1 日)。当我尝试使用 .minusDays(1) 获取上一个日期时,我得到的日期为 2016-12-31T12:52:07.656-08:00(12 月 31 日)。
现在是我尝试以 MM/DD/YYYY 格式化时的上一个日期。我得到输出为 12/366/2016 而不是 12/31/2016
我的代码:
DateTime dt4 = new DateTime("2017-01-01T10:52:07.656-10:00");
System.out.println("Given Date:"+ dt4);
DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/DD/YYYY");
System.out.println("Given Date After Date format: "+fmt.print(dt4));
DateTime previousDay = dt4.minusDays(1);
System.out.println("Previous Day: "+ previousDay);
System.out.println("Previous Date After Date format: "+fmt.print(previousDay));
O/p:
给定日期:2017-01-01T12:52:07.656-08:00
给定日期后日期格式:01/01/2017
前一天:2016-12-31T12:52:07.656-08:00
日期格式:12/366/2016
【问题讨论】:
-
可能你需要
dd或d而不是DD