我想获得以下格式的当前日期时间
2014年8月20日星期二22:51:31 GMT
但我发现很难将其转换为格式说明符例如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
我建议您使用现代日期时间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
从跟踪:日期时间了解有关现代日期时间API*的更多信息。
*无论出于何种原因,如果您必须坚持使用Java 6或Java 7,您可以使用ThreeTen Backport将Java.time的大部分功能向后移植到Java 6&7.如果您正在为Android项目工作,并且您的Android API级别仍然不符合Java-8,请检查通过desugaring和如何在Android项目中使用ThreeTenABP提供的Java 8+API。