[英]How to format datetime in utc to local time format?
我有一个datetime对象,其值的格式(通过断点获取)
dateTime = 2015-09-04T08:37:00.440-07:00
我正在尝试获取相应的当地时间。
我使用的格式为"EEEE, MMM d 'at' hh:mm a"
。
dateTime.toString(format);
但是,它不会将-07:00小时的偏移量考虑在内,并且会返回:
Friday, Sep 4 at 08:37 AM
预期值: Friday, Sep 4 at 01:37 AM
我想念什么?
您要求通过调用withZone(DateTimeZone.getDefault())
来转换为本地(默认)时区。
DateTime dateTime = DateTime.parse("2015-09-04T08:37:00.440-07:00");
System.out.println(dateTime);
System.out.println(dateTime.toString("EEEE, MMM d 'at' hh:mm a"));
dateTime = dateTime.withZone(DateTimeZone.getDefault());
System.out.println(dateTime);
System.out.println(dateTime.toString("EEEE, MMM d 'at' hh:mm a"));
dateTime = dateTime.withZone(DateTimeZone.UTC);
System.out.println(dateTime);
System.out.println(dateTime.toString("EEEE, MMM d 'at' hh:mm a"));
产量
2015-09-04T08:37:00.440-07:00
Friday, Sep 4 at 08:37 AM
2015-09-04T11:37:00.440-04:00
Friday, Sep 4 at 11:37 AM
2015-09-04T15:37:00.440Z
Friday, Sep 4 at 03:37 PM
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.