J2ME pontos idő

J2ME pontos idő
2009-09-07T10:35:46+02:00
2009-09-19T12:41:03+02:00
2022-08-13T12:05:32+02:00
gyorgyracz
Sziasztok!

A következő problémám lenne, egy bluetooth-os kapcsolaton keresztül érkezik egy fájl, és szükésgem lenne az érkezéskori pontos időre. Már mindent kipróbáltam: System.currentTimeMillis(), Calendar.getInstance() stb. Sajnos a J2ME-s pontos idő a ténylegesnél mindig 2 órával korábbi időt mutat. A számítógépen jól van beállítva a pontos idő, a TimeZone is megfelelő. Az op. rendszer Win Xp, a fejlesztőkörnyezet NetBeans 6.7.1- es...


TimeZone defaultZone = TimeZone.getTimeZone("GMT+1"); Calendar cal = Calendar.getInstance(defaultZone); System.out.println("cal1: " + new Date(cal.getTime().getTime())); System.out.println("cal2: " + Calendar.getInstance(TimeZone.getTimeZone("GMT+1")).getTime().getTime()); StringBuffer sBuf = new StringBuffer(); int month = cal.get(Calendar.MONTH) + 1; sBuf.append(month); sBuf.append("/"); sBuf.append(cal.get(Calendar.DATE)); sBuf.append("/"); sBuf.append(cal.get(Calendar.YEAR)); sBuf.append(" "); sBuf.append(cal.get(Calendar.HOUR_OF_DAY)); sBuf.append(":"); sBuf.append(cal.get(Calendar.MINUTE)); sBuf.append(":"); sBuf.append(cal.get(Calendar.SECOND)); System.out.println("sBuf: " + sBuf.toString());

Erre a következőt kapom:

cal1: Mon Sep 07 07:25:00 UTC 2009
cal2: 1252308300917
sBuf: 9/7/2009 8:25:0

A pontos idő pedig: 9:25 lenne...
Eclipse alatt J2SE-ben pedig a cal1 a helyes eredményt adja:

cal1: Mon Sep 07 09:26:07 CEST 2009
cal2: 1252308967467
sBuf: 9/7/2009 8:26:7

Esetleg valaki találkozott már hasonlóval? Szerintetek mi lehet a gond?

Előre is köszi a segítséget!

Udv:Gyuri
Mutasd a teljes hozzászólást!

//final String tzid = "GMT+1"; //final String tzid = "CET"; final String tzid = "UTC"; TimeZone tz = TimeZone.getTimeZone(tzid); if(!tz.getID().equals(tzid)) { System.out.println(tzid + " timezone is not supported!"); String [] ids = TimeZone.getAvailableIDs(); System.out.println("The supported timezones(" + ids.length + "):"); for(int i = 0; i < ids.length; i++) { System.out.println(ids[i]); } } else { Calendar cal = Calendar.getInstance(tz); System.out.println("time: " + cal.getTime()); }
Mutasd a teljes hozzászólást!

  • Téli-nyári idő? Nem lehet valami ilyesmi miatt az 1-2 órás eltérés?
    Mutasd a teljes hozzászólást!
  • Szia!

    A téli-nyári idő miatt max 1 óra eltérés lehetne...de 2 óra difi van...A számítógépen lévő beállítások helyesek...nem tudom az emulatort nem lehet valahogy állítani, esetleg nem abban kéne valamit megnézni?

    Udv:Gyuri
    Mutasd a teljes hozzászólást!

  • //final String tzid = "GMT+1"; //final String tzid = "CET"; final String tzid = "UTC"; TimeZone tz = TimeZone.getTimeZone(tzid); if(!tz.getID().equals(tzid)) { System.out.println(tzid + " timezone is not supported!"); String [] ids = TimeZone.getAvailableIDs(); System.out.println("The supported timezones(" + ids.length + "):"); for(int i = 0; i < ids.length; i++) { System.out.println(ids[i]); } } else { Calendar cal = Calendar.getInstance(tz); System.out.println("time: " + cal.getTime()); }
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd