ben*_*888 -2 java datetime jodatime
我收到一个包含 ISO8601 日期时间的日期时间字符串,像这样"2001-07-04T12:08:56.235-07:00",然后这个字符串被解析为一个 jodatime 日期时间对象new DateTime("2001-07-04T12:08:56.235-07:00"),然后使用参数传递的变量格式化程序模式再次将其转换为字符串,但是当发生这种情况时,没有使用时区,因此使用系统的默认时区。我想要的是从第一个给定日期中提取时区(或偏移量),并使用它相应地打印它。是否可以?
先谢谢了!
不要使用new DateTime("..."). 使用DateTime.parse("...").
看区别:
DateTime dateTime1 = new DateTime("2001-07-04T12:08:56.235-07:00");
System.out.println(dateTime1);
System.out.println(dateTime1.getZone());
DateTime dateTime2 = DateTime.parse("2001-07-04T12:08:56.235-07:00");
System.out.println(dateTime2);
System.out.println(dateTime2.getZone());
Run Code Online (Sandbox Code Playgroud)
输出(我在美国东部)
DateTime dateTime1 = new DateTime("2001-07-04T12:08:56.235-07:00");
System.out.println(dateTime1);
System.out.println(dateTime1.getZone());
DateTime dateTime2 = DateTime.parse("2001-07-04T12:08:56.235-07:00");
System.out.println(dateTime2);
System.out.println(dateTime2.getZone());
Run Code Online (Sandbox Code Playgroud)
如您所见, usingnew转换为默认时区,而 usingparse保留给定的时区。
| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |