给定以下UTC时间:
2009-11-17 10:45:32
如何创建具有该确切时间的org.jode.time.LocalDateTime
,但是使用UTC?
换句话说,该时间戳表示UTC时间。我想在joda
中创建一个新的Timestamp对象,其中包含UTC时间。
我尝试了以下尝试失败:
scala> org.joda.time.LocalDateTime.parse("2009-11-17 10:45:32",
org.joda.time.format.ISODateTimeFormat.tTime)
java.lang.IllegalArgumentException: Invalid format: "2009-11-17 10:45:32"
答案 0 :(得分:1)
我怀疑这里的问题只是缺少值T
。请注意,“a LocalDateTime
[...]但在UTC中”的想法毫无意义。 LocalDateTime
值 没有时区。
最简单的修复可能只是从模式中创建DateTimeFormatter
:
// Java code, but Scala should be similar
DateTimeFormatter format = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = format.parseLocalDateTime(value);
您可以创建DateTimeFormatter
一次并将其存储在静态最终变量中 - DateTimeFormatter
是线程安全的(例如,与SimpleDateFormat
不同。)