2017-08-18 49 views
-6

我想沒有日期時間在JavaUNIX YYYYMMDDHHMMSS.miliseconds格式的Java日期

UNIX格式

YYYYMMDDHHMMSS.miliseconds

UNIX串20170817134131.384

string val = "20170817134131.384"; 
     if (val != null) { 
      SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss"); 
      try { 
       date = df.parse(String.valueOf(val)); 
      } catch (ParseException e) { 
       throw new RuntimeException("Failed to parse date: ", e); 
      } 
      return date; 
     } 
+0

什麼是'val'? – Stewart

+0

yyyyMMddHHmmss **。SSS **也許,剛剛閱讀文檔 –

+0

我不知道你在問什麼。 –

回答

0

這裏有一個簡單的解決方案將unix時間轉換爲localDate,然後您可以自由設置其格式:

long time = 1491231860; 
final LocalDate localDate = LocalDate.fromMillisSinceEpoch(unixSeconds); 
+0

(a)「LocalDate」是什麼類?我在['java.time.LocalDate'](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html)上看不到'fromMillisSinceEpoch'方法。我也沒有在['org.joda.time.LocalDate']上看到它(http://www.joda.org/joda-time/apidocs/org/joda/time/LocalDate.html)。 (b)這段代碼忽略了確定日期時區的關鍵問題。此代碼假定日期應該被構造爲UTC,這可能是也可能不是意圖。 –