这是我想要做的:
我找不到一种简单的方法来转换2021-07-07
为2021-07-07T00:00:00.000Z
. 我们当然可以附加T00:00:00.000Z
字符串,但我想避免这种情况。
到目前为止,我拥有的每种方法(使用 LocalDate、LocalDateTime、Instant、Date)都涉及使用时区 (ZoneId) 或转换为 Epoch,它们最终只给出响应直到几秒钟而不是几毫秒。
我相信一定有更简单的方法。
编辑 1:传递区域 ID 不是问题,我们可以做到。
Arv*_*ash 12
你需要
LocalDate.now()
.atStartOfDay(ZoneOffset.UTC)
.format(DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSX", Locale.ENGLISH))
Run Code Online (Sandbox Code Playgroud)
演示:
import java.time.LocalDate;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
System.out.println(
LocalDate.now()
.atStartOfDay(ZoneOffset.UTC)
.format(DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSX", Locale.ENGLISH))
);
}
}
Run Code Online (Sandbox Code Playgroud)
从Trail: Date Time 中了解有关现代日期时间 API 的更多信息。