我有一个字符串
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'?提前致谢。
答案 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);