[英]Date formatting
我有以下需要解析的日期格式:
Aug 6, 2013 18:34:16.990423000
所以我嘗試了以下方法:
Date startTime;
SimpleDateFormat df = new SimpleDateFormat("MMM dd, yyyy kk:mm:ss.S", Locale.ENGLISH);
startTime = df.parse("Aug 6, 2013 18:34:16.990423000");
但是mydate.toString
給了我完全的其他日期!
它給了我"Sun Aug 11 11:27:43 IDT 2013"
!
它與時區有關嗎?
順便說一下,當我表演時
ts = returnTime.getTime() - startTime.getTime();
它似乎回到了正確的答案。 但我不確定它總是如此。
問題在於S
表示毫秒。 它添加了該日期的毫秒數,但您有990423000毫秒。 您可能希望省略格式的.S
或首先截斷輸入,如下例所示:
Date startTime;
String dateString = "Aug 6, 2013 18:34:16.990423000";
SimpleDateFormat df = new SimpleDateFormat("MMM dd, yyyy kk:mm:ss.SSS", Locale.ENGLISH);
startTime = df.parse(dateString.replaceFirst("\\.(\\d{3})\\d*$", ".$1"));
System.out.println(new SimpleDateFormat("MMM dd, yyyy kk:mm:ss.SSS").format(startTime));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.