将字符串时间戳解析为JODA TimeStamp

时间:2015-02-03 15:19:59

标签: timezone timestamp jodatime

给定以下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"

1 个答案:

答案 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不同。)