当前位置: 首页 > 面试题库 >

如何使用ZonedDateTime或Java 8将任何日期时间转换为UTC

轩辕弘雅
2023-03-14
问题内容

我正在尝试使用将日期06-12-2015 02:10:10 PM从默认区域转换为UTC ZonedDateTime

LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
ZonedDateTime utc = ZonedDateTime.of(localDateTime, ZoneOffset.UTC);

utc返回2015-12-06T14:10:10Z而不是06-12-2015 09:10:10 AM

如何将日期从默认区域转换为UTC?此处给出的答案将当前时间转换为UTC。


问题答案:

您可以使用ZonedDateTime.ofInstant(Instant, ZoneId)第二个参数所在的位置UTC(瞬间知道本地偏移量)。就像是,

String source = "06-12-2015 02:10:10 PM";
String pattern = "MM-dd-yyyy hh:mm:ss a";
DateFormat sdf = new SimpleDateFormat(pattern);
try {
    Date date = sdf.parse(source);
    ZonedDateTime zdt = ZonedDateTime.ofInstant(date.toInstant(), ZoneId.of("UTC"));
    System.out.println(zdt.format(DateTimeFormatter.ofPattern(pattern)));
} catch (ParseException e) {
    e.printStackTrace();
}

我得到(对应于我的本地区域偏移量)

06-12-2015 06:10:10 PM


 类似资料:
  • 问题内容: 我想将日期转换为时间戳,我的输入是。我用了 上面写着NaN ..有人能告诉你如何转换吗? 问题答案: var myDate = “26-02-2012”; myDate = myDate.split(“-“); var newDate = myDate[1]+”,”+myDate[0]+”,”+myDate[2]; console.log(new Date(newDate).getTi

  • 我是java.time包的新手。我有一个本地日期是2015-12-10。我需要将此转换为ZonedDateTime。时间应该是00:00:00,区域是zoneoffset.utc。 dateTimeException:无法从java.time.localDate类型的TemporalAccessor:2015-12-10获取Instant 我也试过: 这会产生意想不到的结果。 我查看了API并尝试

  • 问题内容: 编辑:我已经编辑了我的问题,以包括更多信息,我已经尝试了许多方法来执行此操作,在StackOverflow上提问通常是我的最后选择。任何帮助是极大的赞赏。 我有一个日期(它是一个时间戳记对象),格式为YYYYMMDDHHMMSS(例如20140430193247)。它从我的服务发送到前端,并使用AngularJS以以下格式显示:date:’dd / MM / yyyy’。 如何将其转换

  • 问题内容: 这是我的约会日期“ 15-05-2014 00:00:00” 如何将IST转换为UTC即(到14-05-2014 18:30:00) 基于时区到UTC时区。 我的代码是 如果用户从任何区域输入相同的日期,则将获得UTC时间(例如:从澳大利亚,然后从15-05-2014 00:00:00到14-05-2014 16:00:00) 请任何建议。 问题答案: 您不能将日期值“转换为”其他时区

  • 我有类似“2021-06-01”的字符串,我希望将其转换为“2021-06-01T00:00:00+02:00”。我知道,最简单的解决方案是串接: 但是,我希望使用来实现。目前我的解决方案是: 然后使用: 然而,它抱怨说: 有解决办法吗?

  • 我的前端 ReactJs 代码片段:- 我可以将控制台日志视为 onChage:2022年7月21日星期四13:11:32 GMT 0300(东欧夏季时间) 我需要将这个日期时间发送到Java Spingboot后端。对于后端,我需要将这个日期时间转换为OffsetDateTime或LocalDateTime。我如何能转换这个? 更新: 我尝试并设法转换为数据。通过这个:- 在那里,我失去了时区和