Joda-Time,如何获取字符串解析的格式?

时间:2014-06-27 12:41:40

标签: java parsing date time jodatime

使用Joda-Time

代码
Long timestamp = DateTime.parse(dateInString,DateTimeFormat.shortTime()).getMillis();

产生

java.lang.IllegalArgumentException: Invalid format: "12.05.2014 11:42:35.808" is malformed at ".05.2014 11:42:35.808"

我尝试了所有DateTimeFormat.*,但每种格式都会产生错误。

如何解决?

3 个答案:

答案 0 :(得分:4)

构建与您的模式匹配的DateTimeFormatter,然后使用它。你的模式肯定不是一个“短时间”模式,因为你在那里也有约会......

例如:

// Possibly MM.dd.yyyy - we don't know what 12.05.2014 is meant to represent
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd.MM.yyyy HH:mm:ss.SSS");
                                            .withLocale(Locale.US)
                                            .withZoneUTC(); // Adjust accordingly
DateTime dateTime = formatter.parse(text);
long millis = dateTime.getMillis();

答案 1 :(得分:0)

试试这个

   DateTimeFormatter pattern = DateTimeFormat.forPattern("dd.MM.yyy hh:mm:ss.SSS");
   Long timestamp = DateTime.parse(dateInString,pattern).getMillis();

答案 2 :(得分:0)

import java.util.*;
import java.text.*;

Date DateNow= new Date( );  
SimpleDateFormat sdf =new SimpleDateFormat ("yyyy.MM.dd hh:mm:ss");
String timestamp= sdf.format(DateNow);