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

时间:2015-04-02 13:43:15

标签: android datetime datetime-format datetimeformatinfo

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

星期二,2014年8月20日22:51:31 GMT

但我发现很难将它转换为格式说明符 比如ddmmyy 我怀疑是如何用象征性的方式指定Tue如何象征性地指定GMT。

2 个答案:

答案 0 :(得分: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());

答案 1 :(得分:1)

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

modern date-time API 中了解有关 Trail: Date Time* 的更多信息。


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