該answer by Jon Skeet是正確的。
喬達時間
我將使用Joda-Time庫添加一些示例代碼。
java.util。在Java中捆綁的Date,java.util.Calendar和java.text.SimpleDateFormat類是非常麻煩的,在設計和實現方面都存在缺陷。避免它們。使用Joda-Time或Java 8中的java.time包(受Joda-Time的啓發,由JSR 310定義)。
在Joda-Time和java.time中,與java.util.Date不同,日期 - 時間對象知道它自己分配的time zone。另一個區別是,這兩個好的庫都使用immutable objects,我們基於原始對象實例化新對象,而不是修改(「變異」)原始對象。
DateTimeZone timeZone = DateTimeZone.UTC; // Or DateTimeZone.forID("America/Montreal")
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyyMMdd-HH:mm:ss.SSS").withZone(timeZone);
DateTime dateTime = formatter.parseDateTime("20140923-14:32:34.456"); // Parsed *and* assigned the specified time zone.
String output = dateTime.toString();
您可以轉換爲其他時區。
DateTime dateTimeKolkata = dateTime.withZone(DateTimeZone.forID("Asia/Kolkata"));
如果您確實需要其他類可能需要的java.util.Date,請從Joda-Time進行轉換。
java.util.Date date = dateTime.toDate();
如何輸出它?如果你只是在控制檯上拋出一個'Date',那麼你正在運行'toString()'方法,它不包含millis。 – azurefrog 2014-09-24 21:00:25
剛剛使用了System.out.println。那麼如何獲取包括毫秒的整個dateobject – 2014-09-24 21:10:36
您的字符串代表什麼時區? [UTC](http://en.wikipedia.org/wiki/Coordinated_Universal_Time)? – 2014-09-25 04:39:47