我想以下列格式获取当前日期时间
格林威治标准时间 2014 年 8 月 20 日星期二 22:51:31
但是我发现很难将其转换为格式说明符,例如 ddmmyy 我的疑问是如何以符号方式指定 Tue,就像如何以符号方式指定 GMT 一样。
我想以下列格式获取当前日期时间
格林威治标准时间 2014 年 8 月 20 日星期二 22:51:31
但是我发现很难将其转换为格式说明符,例如 ddmmyy 我的疑问是如何以符号方式指定 Tue,就像如何以符号方式指定 GMT 一样。
研究使用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());
我建议您使用现代日期时间 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 desugaring和How to use ThreeTenABP in Android Project。