use*_*220 4 java datetime date jodatime
我读从文件看起来像琴弦"2015-06-06T01:51:49-06:00"
成乔达时间 DateTime
对象.但是DateTime
不按我想要的方式行事.
import org.joda.time.DateTime;
System.out.println("2015-06-06T01:51:49-06:00");
System.out.println(new DateTime("2015-06-06T01:51:49-06:00"));
Run Code Online (Sandbox Code Playgroud)
结果如下
2015-06-06T01:51:49-06:00
2015-06-06T00:51:49.000-07:00
Run Code Online (Sandbox Code Playgroud)
后来我需要小时和分钟.这将是1:51.但DateTime是在我猜的不同时区打印出来的吗?如何打印DateTime2015-06-06T01:51:49.000-06:00
A DateTime
存储时区,但DateTime(Object instant)
构造函数首先将其转换String
为瞬间(毫秒),从而丢失时区信息,因此它将默认时区应用于该时刻.
要保留时区,请使用DateTime.parse(String str)
:
System.out.println("2015-06-06T01:51:49-06:00");
System.out.println(new DateTime("2015-06-06T01:51:49-06:00"));
System.out.println(DateTime.parse("2015-06-06T01:51:49-06:00"));
Run Code Online (Sandbox Code Playgroud)
产量
2015-06-06T01:51:49-06:00
2015-06-06T03:51:49.000-04:00
2015-06-06T01:51:49.000-06:00
Run Code Online (Sandbox Code Playgroud)