我想以下列格式获取当前日期时间
星期二,2014年8月20日22:51:31 GMT
但我发现很难将它转换为格式说明符 比如ddmmyy 我怀疑是如何用象征性的方式指定Tue如何象征性地指定GMT。
答案 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)
我建议您使用 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 desugaring 和 How to use ThreeTenABP in Android Project。