2016-09-07 52 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库很难切割。 –