Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将utc中的日期时间格式设置为本地时间格式?_Java_Datetime_Jodatime - Fatal编程技术网

Java 如何将utc中的日期时间格式设置为本地时间格式?

Java 如何将utc中的日期时间格式设置为本地时间格式?,java,datetime,jodatime,Java,Datetime,Jodatime,我有一个datetime对象,其值的格式为(通过断点获取) 我正在设法得到相应的当地时间 我在“hh:mma”中使用了格式“EEEE,mmmd” 但它不考虑-07:00小时偏移量,并返回: Friday, Sep 4 at 08:37 AM 预期值:9月4日星期五凌晨01:37 我缺少什么?您通过调用withZone(DateTimeZone.getDefault())请求转换为本地(默认)时区 输出 您是否尝试过使用DateTimeFormatter,因为我通过使用datetime(java

我有一个datetime对象,其值的格式为(通过断点获取)

我正在设法得到相应的当地时间

我在“hh:mma”中使用了格式“EEEE,mmmd”

但它不考虑-07:00小时偏移量,并返回:

Friday, Sep 4 at 08:37 AM
预期值:
9月4日星期五凌晨01:37


我缺少什么?

您通过调用
withZone(DateTimeZone.getDefault())
请求转换为本地(默认)时区

输出


您是否尝试过使用
DateTimeFormatter
,因为我通过使用datetime(java.util.date)创建datetime解决了这一问题…目前这对我来说很有效…感谢您的回复…但是,这不是预期的o/p…我想在输出之前打印字符串,应用-07:00…9月4日星期五凌晨1:37,而不是星期五,9月4日上午8:37…您误解了-07:00的含义。它指定日期/时间用于时区中比GMT/UTC晚7小时的位置。如果希望时间以UTC为单位,则添加7小时并获得
15:37
。如果您所在的时区为
-07:00
(以PDT为例),则时间在您所在的时区内。如你所见,我在东海岸(EDT),所以我的时区是
-04:00
,时间是
11:37 AM
,比现在高3个小时。现在是
10:37 PM
这里(EDT)和
DateTime.now()
返回
2015-09-02T22:37:01.134-04:00
。我的时间,我的时区。
dateTime.toString(format);
Friday, Sep 4 at 08:37 AM
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