【发布时间】:2013-11-26 18:47:43
【问题描述】:
您好,我是 android 开发的新手,现在正在编写 Android 代码,我需要以这种格式获取当前日期和时间
YYYY-MM-DDTHH:MM.000z
例如 2013-11-26T03:16:00.000Z
任何帮助都会非常感激
【问题讨论】:
您好,我是 android 开发的新手,现在正在编写 Android 代码,我需要以这种格式获取当前日期和时间
YYYY-MM-DDTHH:MM.000z
例如 2013-11-26T03:16:00.000Z
任何帮助都会非常感激
【问题讨论】:
Instant.now().toString()
2018-01-25T22:50:24.702645Z
java.time 类在解析或生成字符串时默认使用标准 ISO 8601 格式。
Instant 类表示UTC 中时间轴上的时刻,分辨率为nanoseconds(最多九 (9) 位小数)。
获取 UTC 中的当前时刻:
Instant instant = Instant.now() ;
要生成标准 ISO 8601 格式的字符串:
String output = instant.toString() ; // Generate string in standard format.
换个方向,解析这样一个字符串。
Instant instant = Instant.parse( "2013-11-26T03:16:00.000Z" );
在 Stack Overflow 上搜索有关 java.time 类的大量讨论,例如 ZoneId、ZonedDateTime 和 OffsetDateTime。
更新:Joda-Time 项目现在位于maintenance mode,团队建议迁移到java.time 类。
ISO 8601 格式是Joda-Time 2.3 库的默认格式。
System.out.println( "Now: " + new org.joda.time.DateTime( org.joda.time.DateTimeZone.UTC ) );
运行时……
Now: 2013-11-26T20:25:12.014Z
java.time 框架内置于 Java 8 及更高版本中。这些类取代了麻烦的旧 legacy 日期时间类,例如 java.util.Date、Calendar 和 SimpleDateFormat。
Joda-Time 项目现在位于maintenance mode,建议迁移到java.time 类。
要了解更多信息,请参阅Oracle Tutorial。并在 Stack Overflow 上搜索许多示例和解释。规格为JSR 310。
从哪里获得 java.time 类?
ThreeTen-Extra 项目通过附加类扩展了 java.time。该项目是未来可能添加到 java.time 的试验场。您可以在这里找到一些有用的类,例如Interval、YearWeek、YearQuarter 和more。
【讨论】:
Android 的 SimpleDateFormat 类的文档随时可用:
http://developer.android.com/reference/java/text/SimpleDateFormat.html
似乎还曾在answered before. 等其他地方。
【讨论】:
java.util.Date、java.util.Calendar 和 java.text.SimpleDateFormat 等麻烦的旧日期时间类现在已被 java.time 类所取代。在ThreeTen-Backport 项目中,大部分 java.time 功能都向后移植到 Java 6 和 Java 7。在ThreeTenABP 项目中进一步适用于早期的Android。见How to use ThreeTenABP…。
使用SimpleDateFormat sd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
【讨论】: