我有一个字符串
String time = "2012-09-12 15:04:01";
Run Code Online (Sandbox Code Playgroud)
我想将该字符串解析为Joda-Time:
DateTimeFormatter dateStringFormat = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime time = dateStringFormat.parseDateTime(date);
Run Code Online (Sandbox Code Playgroud)
但是当我打印时间
time.toString()
Run Code Online (Sandbox Code Playgroud)
输出是:
2012-09-12T15:04:01.000+03:00
Run Code Online (Sandbox Code Playgroud)
为什么输出与输入不同?我做错了什么?我的意思是什么'T'?提前致谢.
当您解析日期或数字时,您需要额外增加其值,而不是它作为字符串的格式.
当你toString()时,该值将其转换为默认格式.
为什么输出与输入不同?
如果它是相同的,那将是令人惊讶的巧合.
我做错了什么?
假设只有一种值的格式.
我的意思是'T'是什么?
这意味着它采用ISO 8601格式.
顺便说一句,你对数字有同样的问题
System.out.println(Double.parseDouble("123456789"));
System.out.println(Double.parseDouble("1.1e2"));
Run Code Online (Sandbox Code Playgroud)
版画
1.23456789E8
110.0
Run Code Online (Sandbox Code Playgroud)
在每种情况下,值都是正确的,但不记录或保留原始格式.
| 归档时间: |
|
| 查看次数: |
8410 次 |
| 最近记录: |