在我下面的groovy测试用例中,我有一些日期对象,后来我正在使用格式化DateUtil.format(calendarObj,"yyyy-MM-dd").但是当我打印结果时,它会将月份增加1.
例如:
Groovy代码:
def testDate=new GregorianCalendar(2000,1,30);
def testDate1=new GregorianCalendar(2000,1,5);
def testDate2=new GregorianCalendar(2000,4,25);
def testDate3=new GregorianCalendar(2000,6,10);
Run Code Online (Sandbox Code Playgroud)
输出(使用System.out.println(DateUtil.format(testDate/1/2/3,"yyyy-MM-dd"))):
2000-03-01
2000-02-05
2000-05-25
2000-07-10
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么会发生这种情况.
Java(以及扩展名为Groovy)的月份是从零开始的,因此1月份是02月份1,等等.
正如在评论中指出,这只是最初的Java日期/时间类(的情况下java.util.Date,java.util.Calendar...).
对于Java 8(java.time.LocalDate,...)中引入的(首选)新日期/时间API中的类,此行为已更改为更直观.
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |