如何以给定格式获取日期?

lxkprmvk  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(413)

以下是我正在尝试做的:
以今天的日期为例(比如2021-07-07)
格式为(2021-07-07t00:00:00.000z)
在api中发送它
我找不到一个简单的方法来转换 2021-07-072021-07-07T00:00:00.000Z . 我们当然可以附加 T00:00:00.000Z 字符串,但我想避免。
到目前为止,我使用的每个方法(使用localdate、localdatetime、instant、date)都涉及一些时区(zoneid)的使用或到历元的转换,它们最终只给出几秒钟的响应,而不是几毫秒的响应。
我相信一定有更简单的方法。
编辑1:传递区域id不是问题,我们可以这样做。

xesrikrc

xesrikrc1#

你需要

LocalDate.now()
    .atStartOfDay(ZoneOffset.UTC)
    .format(DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSX", Locale.ENGLISH))

演示:

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))
        );
    }
}

在线演示
从trail:date-time了解有关现代日期时间api的更多信息。

相关问题