2013-11-20 50 views
-1

如何轉換時間以毫秒爲單位,例如:1384248606000如何毫秒轉換爲格林威治時間

以下格式dd/MM/yyyy 24hourtimeformat GMT +timezoneoffset

以下函數的dateformat如何顯示?

public static String getFormattedDate(long time, DateFormatType type) { 
    String dateFormat = DateFormatType.getDateFormat(type); 
    Calendar cal = Calendar.getInstance(Locale.ENGLISH); 
    cal.setTimeInMillis(time); 
    String date = DateFormat.format(dateFormat, cal).toString(); 
    return date; 
} 
+4

你的意思是格林威治?格林威治標準時間? –

+0

爲了防止OP的拼寫錯誤:「格林威治」的發音與「格林威治」相比,更接近「格林威治」 – iamnotmaynard

+5

我認爲他的意思是「格林威治標準時間」。它發生在十二月底:-) –

回答

0

這是正確的答案:

https://stackoverflow.com/a/9290138/2136812

字符串CDATE =(字符串)DateFormat.format( 「YYYY-MM-DD KK:MM:SS」,c.getTime()) ;

由於某種原因,我應該把「KK」而不是「HH」或「HH」,它的效果很好!

0

嘗試H代表24小時格式

最終的SimpleDateFormat DF =新的SimpleDateFormat( 「DD/MM/YYYY HH:MM:SS ZZZ」);

+0

這個結果是:2013/11/21 HH:11:26 GMT + 02:00 –

+0

你可以在這裏粘貼你的代碼嗎? – San

0

毫秒是時間的真正值,與時區和日曆無關。你想要的字符串是那個時候的表現。

所以你應該使用一個日曆,一個TimeZone(默認值是你的操作系統的TimeZone不是GMT)和一個SimpleDateFormat。

將適當的GMT時區分配給日曆,並將日曆分配給SimpleDateFormat。就這樣。

0

在Java中1.7的狀態清楚地javadoc爲SimpleDateFormat的:

以下模式字母被定義(從「A」到「Z」並從所有其它字符「a」到「Z」被保留) :

Letter  Date or Time Component Presentation Examples 
    ...   
    H   Hour in day (0-23)  Number   0 
    ... 

它說在Java 5.0 ... ...這是仍然是容易獲得的最早版本是相同的。

如果這對你不起作用,那麼你要麼使用一些古怪的/古老的/不兼容的Java版本...或者你的程序不正確。也許你在源代碼中使用了拉丁語H字符的同類符號;見http://homoglyphs.net/

相關問題