嗨,我对乔达时间有疑问。我正在尝试在日期时间结束时获取'Z'值,但不能:
我尝试使用以下语法,但是没有运气,不确定确切
LocalDateTime currentDateTime = LocalDateTime.now(DateTimeZone.forID("GMT"));
输出:2019-06-11T21:29:42.474
LocalDateTime currentDateTime = LocalDateTime.now(DateTimeZone.forID("GMT"));
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
DateTime parsedDateTimeUsingFormatter
= DateTime.parse(currentDateTime.toString(), fmt);
System.out.println(parsedDateTimeUsingFormatter);
输出:2019-06-11T21:29:42.474-04:00
但是我需要像下面这样的GMT格式:
预期产量:2019-06-11T21:29:42.474Z
答案 0 :(得分:3)
听起来您只需要在UTC中创建DateTime
:
DateTime utcNow = DateTime.now(DateTimeZone.UTC);
System.out.println(utcNow);
这不是“仅在末尾加一个Z”的问题-您需要确保实际上已经获得一个UTC时间戳。
答案 1 :(得分:0)
您可以尝试以下方法:
LocalDateTime localNow = LocalDateTime.now(TimeZone.getTimeZone("GMT").toZoneId());
现在我们将其设置为格林尼治标准时间,我们可以继续;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String formatDateTime = localNow.format(formatter);
答案将采用这种格式
2019-06-11T22:28:20.062Z