以所需格式获取当前日期时间

Get current date time in the desired format

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

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

但我发现很难将其添加到格式说明符中 例如 ddmmyy 那样 我的疑问是如何象征性地指定星期二如何象征性地指定格林威治标准时间。

考虑使用 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());

java.time

我推荐你使用modern date-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[=42= 中了解有关 modern date-time API* 的更多信息].


* 无论出于何种原因,如果您必须坚持Java 6 或Java 7,您可以使用ThreeTen-Backport which backports most of the java.time functionality to Java 6 & 7. If you are working for an Android project and your Android API level is still not compliant with Java-8, check Java 8+ APIs available through desugaring and