2016-09-07 119 views
1

我正在處理codename one項目,並且我正在努力將設備時間轉換爲UTC。 我使用此代碼:codenameone將時間轉換爲utc

Calendar cal = Calendar.getInstance(); 
System.out.println(cal.getTimeZone()); 
TimeZone tzUTC = TimeZone.getTimeZone("UTC"); 
com.codename1.l10n.DateFormat dtfmt = new com.codename1.l10n.SimpleDateFormat("EEE, yyyy-MM-dd KK:mm a z"); 
dtfmt.setTimeZone(tzUTC); 
System.out.println("UTC: " + dtfmt.format(cal.getTime())); 

和代號一個拒絕setTImeZone方法。

我使用java.text.DateFormat,但是當我運行它時,condename也不能編譯它。

+0

你能告訴我這個'com.codename1.l10n'包內的代碼嗎 –

+0

我相信我們可以在https://www.codenameone.com/javadoc/找到這個包的描述。它確認'com.codename1.l10n.DateFormat'沒有'setTimeZone'方法。 :-( –

+0

是的,這就是爲什麼我使用java.text.DateFormat,但是當我試圖運行它時,編譯器拒絕編譯。 – squallbayu

回答

0

用途:

java.util.Calendar cal = java.util.Calendar.getInstance(); 
    TimeZone tz = cal.getTimeZone(); 
    cal.setTime(new Date(System.currentTimeMillis() - tz.getRawOffset())); 
    com.codename1.l10n.DateFormat dtfmt = new com.codename1.l10n.SimpleDateFormat("EEE, yyyy-MM-dd KK:mm a"); 
    System.out.println("UTC: " + dtfmt.format(cal.getTime())); 

然後追加UTC的字符串值始終是UTC。

+0

戶田raba的答案。我用它和日期結果總是相同的值: Wed Sep 07 11:32:47 WIB 2016 sun.util.calendar.ZoneInfo [id =「Asia/Jakarta」, offset = 25200000,dstSavings = 0,useDaylight = false,transitions = 9,lastRule = null] Wed Sep 07 11:32:47 WIB 2016 sun.util.calendar.ZoneInfo [id =「GMT」,offset = 0, dstSavings = 0,useDaylight = false,transitions = 0,lastRule = null] – squallbayu

+0

爲防萬一我不是唯一不熟悉希伯來語的人,我想這句話裏有一個解釋:「我確定你記得「謝謝」或「謝謝」是希伯來文中的「toda」,我想提醒你ou說「非常感謝」你應該說「toda raba」。「(來自http://www.free-hebrew.com/tag/toda-raba/) –

+0

我編輯了我的答案。這個功能在JavaSE中也很痛苦。理想情況下,我很樂意讓我們轉移到JSR310並擺脫這個舊代碼... –

1

它可能沒有真正回答你的真正的問題,但對我來說了以下工作:

Calendar cal = Calendar.getInstance(); 
    DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG); 
    TimeZone tzUtc = TimeZone.getTimeZone("UTC"); 
    df.setTimeZone(tzUtc); 
    System.out.println("UTC: " + df.format(cal.getTime())); 

我不知道com.codename1.l10n.DateFormat,所以我很抱歉,我不能幫助你。

+1

Codename一個環境是有限的,所以沒有像你提到的那樣的東西。默認的java庫很難切割。 –