joda 时间格式化程序用额外的小时解析 yyyy-mm-dd
joda time formatter parsing yyyy-mm-dd with extra hour
我正在使用 Joda time DateTimeFormatter 以 yyyy-mm-dd 字符串格式创建一个新的日期时间对象。调用 DateTime date = formatter.parse(String) 时,我得到一个额外一小时的 DateTime 对象。我住在 UTC +1。如何在不添加小时的情况下格式化字符串日期时间。
String date = "2013-01-28";
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-mm-dd");
DateTime date = formatter.parseDateTime(date);
date.ToString() = 2013-01-28T00:01:00.000+01:00
expected = 2013-01-28T00:00:00.000+01:00
此外,稍后在代码中我比较了两个 DateTime 对象。此解析器采用 yymmdd 格式,不会增加一小时。
String date = "130102"
DateTimeFormatter format = DateTimeFormat.forPattern("yyMMdd");
DateTime datetime = format.parseDateTime(date);
datetime.toString = 2013-01-02T00:00:00.000+01:00
yyyy-mm-dd 使用 分钟, 而不是月份(模式符号 M)。请参考pattern symbols on Joda-Time-page.
的文档
使用错误的模式解析“2013-01-28”会产生“2013-01-28T00:01:00.000+01:00”。你看到分钟等于 1 了吗?如果解析器找不到月份信息,一月份似乎是默认值(在我看来不聪明)。
我正在使用 Joda time DateTimeFormatter 以 yyyy-mm-dd 字符串格式创建一个新的日期时间对象。调用 DateTime date = formatter.parse(String) 时,我得到一个额外一小时的 DateTime 对象。我住在 UTC +1。如何在不添加小时的情况下格式化字符串日期时间。
String date = "2013-01-28";
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-mm-dd");
DateTime date = formatter.parseDateTime(date);
date.ToString() = 2013-01-28T00:01:00.000+01:00
expected = 2013-01-28T00:00:00.000+01:00
此外,稍后在代码中我比较了两个 DateTime 对象。此解析器采用 yymmdd 格式,不会增加一小时。
String date = "130102"
DateTimeFormatter format = DateTimeFormat.forPattern("yyMMdd");
DateTime datetime = format.parseDateTime(date);
datetime.toString = 2013-01-02T00:00:00.000+01:00
yyyy-mm-dd 使用 分钟, 而不是月份(模式符号 M)。请参考pattern symbols on Joda-Time-page.
的文档使用错误的模式解析“2013-01-28”会产生“2013-01-28T00:01:00.000+01:00”。你看到分钟等于 1 了吗?如果解析器找不到月份信息,一月份似乎是默认值(在我看来不聪明)。