sa_*_*nyc 0 java date-format simpledateformat
我试图将一个字符串解析为日期.
我在用
new SimpleDateFormat("yyyyMMdd-HH:mm:ss.SSS").parse("20140923-14:32:34.456")
Run Code Online (Sandbox Code Playgroud)
我的输出是:(日期对象)
Tue Sep 23 14:32:34 EDT 2014
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我没有得到毫秒.我需要日期和毫秒,而不仅仅是毫秒.
预期输出:(日期对象)
Tue Sep 23 14:32:34.456 EDT 2014
Run Code Online (Sandbox Code Playgroud)
谢谢
PS:我最后不想要一个字符串对象,而是一个Date.
你只是打印出调用的结果,Date.toString()不包括毫秒.如果你打印出调用getTime()日期的结果,你会看到它以"456"结束,表明它已经解析了毫秒.
另外,不要被输出的"EDT"部分所迷惑Date.toString().这并不意味着这是一个Date"在"EDT中的对象... a Date根本没有时区; 从unix时代开始,它只是几毫秒.
我建议您明确设置您的时区SimpleDateFormat- 即使您故意将其设置为系统默认时区.通过明确地这样做,您向读者清楚地表明您打算使用该时区,而不仅仅是您没有考虑它.您也应该对语言环境采用相同的方法 - 在这种情况下我可能会指定Locale.US,对于专为机器解析而设计的格式而言,这通常是一个很好的选择.
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |