我本以为这会抛出一个例外,因为2016年2月1日不是星期五:
final DateTimeFormatter formatter = DateTimeFormat.forPattern("EEEE, d MMMM yyyy");
final DateTime date = formatter.parseDateTime("Friday, 1 February 2016");
System.out.println(formatter.print(date));相反,它打印出了Friday, 5 February 2016。我在这里错过了什么?
发布于 2018-03-21 09:45:48
这是在文档(http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormatter.html)中解释的
解析通过将每个解析字段的值从最大到最小“设置”到初始瞬间(通常为1970-01-01T00:00Z )来生成结果瞬间。这个设计意味着一个月一天是在一周一天之前设定的.因此,如果分析了一周一天和一周一天,而每周一天都是不正确的,那么就会超过月一天的。如果输入不一致,这会产生副作用。
https://stackoverflow.com/questions/49402835
复制相似问题