【发布时间】:2023-03-04 03:43:01
【问题描述】:
这里有很多关于 SimpleDateFormat 的问题,但我似乎在这个问题上找不到任何东西。我遇到了在 Android 和 JDK 上运行的完全相同的代码输出不同的问题。我在 Eclipse 中运行并使用模拟器来测试 Android。 JDK 版本 1.7 和 Android 4.4。
关于如何以 JDK 样式格式制作 Android 输出日期的任何想法?
TimeZone GMT_ZONE = TimeZone.getTimeZone("GMT");
String RFC1123_PATTERN = "EEE, dd MMM yyyy HH:mm:ss z";
final DateFormat rfc1123Format = new SimpleDateFormat(RFC1123_PATTERN, LOCALE_US);
rfc1123Format.setTimeZone(GMT_ZONE);
String dateString = rfc1123Format.format(new Date());
JDK 1.7 dateString 值:2013 年 12 月 20 日星期五 00:46:21 GMT
Android 4.4 dateString 值:2013 年 12 月 20 日星期五 00:46:21 GMT+00:00
【问题讨论】:
-
Android 是一个有一些不同的重新实现,也许尝试不同的模式? stackoverflow.com/questions/10584647/…
-
很遗憾您正在使用模拟器。天哪,它很慢。您必须依赖 Android 使用的内容或从模式中删除“z”
-
是的,我确实意识到 Android 和 JDK 是不同的(因此为什么我必须做这么多工作才能让它们玩得更好)。但是,我确实需要 JDK 样式的模式,因为我正在使用另一个需要该格式的服务。知道什么模式会在 Android 上产生 Fri, 20 Dec 2013 00:46:21 GMT 格式输出吗?
标签: java android date simpledateformat