如何获得以下格式:
2015-01-31T00:00:00Z
Run Code Online (Sandbox Code Playgroud)
(ISO8601 GMT日期格式)
在joda时间(java)中的DateTime对象?例如.
DateTime time = DateTime.now();
String str = // Get something like 2012-02-07T00:00:00Z
Run Code Online (Sandbox Code Playgroud)
谢谢!:)
laz*_*laz 41
该JODA 的Javadoc表明,toString对于DateTime输出在ISO8601的日期.如果您需要将所有时间字段清零,请执行以下操作:
final DateTime today = new DateTime().withTime(0, 0, 0, 0);
System.out.println(today);
Run Code Online (Sandbox Code Playgroud)
这将包括输出字符串中的毫秒数.要摆脱它们,你需要使用@jgm建议的格式化程序.
如果你希望它匹配你在这篇文章中要求的格式(使用文字Z字符),这将有效:
System.out.println(today.toString(DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")));
Run Code Online (Sandbox Code Playgroud)
如果您需要将值设置为UTC,请将其初始化为:
final DateTime today = new DateTime().withZone(DateTimeZone.UTC).withTime(0, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)
@jgm在文档中,ISODateTimeFormat.dateTime()进行了描述
返回一个格式化程序,它结合了完整的日期和时间,用'T'分隔(yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
但是如果你设置时区,例如,
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
System.out.println(fmt.print(new DateTime().toDateTime(DateTimeZone.UTC)));
Run Code Online (Sandbox Code Playgroud)
它将以Z结尾.
DateTime dt = new DateTime();
DateTimeFormatter fmt = ISODateTimeFormat.dateTimeNoMillis();
String str = fmt.print(dt);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30569 次 |
| 最近记录: |