2012-11-19 17 views
-1

我做下一步操作:如何禁用添加的timeZone

設置時區的設備GMT + 0400(而不是從代碼)

創建新的日期

和打印時間(的SimpleDateFormat) - 中毫秒

GOT 11-19 19:16:40.920:I /的System.out(30070):試驗時間:1353330825273 TIME:19.11

當我更改德維克e我的時間區域GMT + 0600 現在用毫秒創建日期1353330825273

Date myDate = new Date(1353330825273L);

但是當我再次打印時我得到 11-19 19:17:00.920:我/的System.out(30070):測試時間:1353330825273時間:21.11

時間格式字符串是:K:毫米

爲什麼?如何禁用timezone修改我的時間?

+1

下午6點18分38秒和18時18分38秒都是一樣的,如果我沒有弄錯。嘗試從Aleksandr M – MKJParekh

+0

得到答案,18時不再有比在6PM更多的時區。 18是以HH格式表示的6PM – njzk2

回答

4

它與格式,沒有時區的事,但如果你想禁用時區,然後做這樣的事情:

SimpleDateFormat sdf = new SimpleDateFormat(format); 
sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
return sdf.format(date); 

這將您的時區設置爲GMT/UTC

0

我認爲你有時間格式而不是時區問題。使用K顯示上午/下午的小時數,並使用a顯示上午/下午的標記。

SimpleDateFormat sdf = new SimpleDateFormat("KK:mm:ss a"); 
1

請參考示例一節中的SimpleDateFormat javadoc瞭解更詳細:

SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss a"); 

上述會給你12小時格式輸出。下面是各種格式的詳細列表:

enter image description here

相關問題