Joda-Time:解析字符串

时间:2012-11-26 11:46:39

标签: java jodatime

我有一个字符串

 String time = "2012-09-12 15:04:01";

我想将该字符串解析为Joda-Time

DateTimeFormatter dateStringFormat = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime time = dateStringFormat.parseDateTime(date);

但是当我打印时间

time.toString()

输出结果为:

2012-09-12T15:04:01.000+03:00

为什么输出与输入不同?我做错了什么?我的意思是什么'T'?提前致谢。

2 个答案:

答案 0 :(得分:9)

当你解析一个日期或数字时,你要加上它的值,而不是它作为一个字符串的格式。

当你使用toString()时,该值会将其转换为默认格式。

  

为什么输出与输入不同?

如果它是相同的,那将是一个惊人的巧合。

  

我做错了什么?

假设只有一种值的格式。

  

我的意思是什么是'T'?

这意味着它是ISO 8601格式。


BTW你有同样的数字问题

System.out.println(Double.parseDouble("123456789"));
System.out.println(Double.parseDouble("1.1e2"));

打印

1.23456789E8
110.0

在每种情况下,值都是正确的,但不会记录或保留原始格式。

答案 1 :(得分:1)

我想你想......

dateStringFormat.print(time);