-1

我想以下列格式获取当前日期时间

格林威治标准时间 2014 年 8 月 20 日星期二 22:51:31

但是我发现很难将其转换为格式说明符,例如 ddmmyy 我的疑问是如何以符号方式指定 Tue,就像如何以符号方式指定 GMT 一样。

4

2 回答 2

2

研究使用SimpleDateFormat

编辑:

看起来您可能需要格式字符串“E d MMM y H:m:s z”。

SimpleDateFormat format = new SimpleDateFormat("E d MMM y H:m:s z", Locale.US); String date = format.format(new Date());

于 2015-04-02T13:45:55.953 回答
1

java.time

我建议您使用现代日期时间 API *

您所需的格式是开箱即用的DateTimeFormatter.RFC_1123_DATE_TIME.

演示:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        String strDateTime = ZonedDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.RFC_1123_DATE_TIME);
        System.out.println(strDateTime);
    }
}

输出:

Sun, 9 May 2021 14:36:28 GMT

Trail: Date Time了解有关现代日期时间 API *的更多信息。


* 出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,则可以使用ThreeTen-Backport,它将大部分java.time功能向后移植到 Java 6 和 7。如果您正在为 Android 项目和 Android API 工作level 仍然不符合 Java-8,请检查Java 8+ APIs available through desugaringHow to use ThreeTenABP in Android Project

于 2021-05-09T14:39:54.523 回答