×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Getting the current time is timezone dependent on S60 2nd Edition (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search
Forum Nokia KB (Talk | contribs)
extkbeditor2 (Talk | contribs)
m
Line 1: Line 1:
 
 
{{KBKI}}
 
{{KBKI}}
 
__NOTOC__
 
__NOTOC__
 
__NOEDITSECTION__
 
__NOEDITSECTION__
 +
{{KnowledgeBase
 +
|id=KIJ000085
 +
|platform=S60 2nd Edition
 +
|devices=Nokia 6600
 +
|category=
 +
|subcategory=
 +
|creationdate=
 +
|keywords=
 +
}}
  
'''Platform:''' S60 2nd Edition  '''Device:''' Nokia 6600
+
==Description==
 
+
'''Description:'''
+
 
+
 
CLDC 1.0 specification requires the method System.currentTimeMillis() to return the time in UTC (GMT).
 
CLDC 1.0 specification requires the method System.currentTimeMillis() to return the time in UTC (GMT).
  
Line 14: Line 19:
 
In the Nokia 6600 device such existing MIDlets might behave differently, using UTC instead of local time as expected in many use cases.
 
In the Nokia 6600 device such existing MIDlets might behave differently, using UTC instead of local time as expected in many use cases.
  
'''Solution:'''
+
==Solution==
 
+
 
Use a Calendar object to get the local time.
 
Use a Calendar object to get the local time.
  
Line 27: Line 31:
  
 
MIDlet programmers should be aware that Java applications are just about the only application in the phone that uses the time zone. Thus, users might have incorrect time zone settings in their phone without being aware of it.
 
MIDlet programmers should be aware that Java applications are just about the only application in the phone that uses the time zone. Thus, users might have incorrect time zone settings in their phone without being aware of it.
 +
 
[[Category:Known Issue]][[Category:Java ME]][[Category:S60 2nd Edition]]
 
[[Category:Known Issue]][[Category:Java ME]][[Category:S60 2nd Edition]]

Revision as of 20:12, 13 October 2008

Template:KBKI


Article Metadata
Tested with
Devices(s): Nokia 6600
Compatibility
Platform(s): S60 2nd Edition
S60 2nd Edition (initial release)
Article
Created: ()
Last edited: extkbeditor2 (13 Oct 2008)

Description

CLDC 1.0 specification requires the method System.currentTimeMillis() to return the time in UTC (GMT).

Because some earlier phone models supported only time zone UTC, MIDlet programmers did not always take the difference between UTC and local time into account. MIDlets did work correctly assuming that the returned value was in local time, without even checking time zone settings.

In the Nokia 6600 device such existing MIDlets might behave differently, using UTC instead of local time as expected in many use cases.

Solution

Use a Calendar object to get the local time.

Calendar calendar = Calendar.getInstance() ;  // uses default TimeZone
Calendar.setTime( new Date( System.currentTimeMillis()) ;

Note: The phone user can set the time zone as follows:

1. By turning the automatic time update on. This is a network service and is not supported in all networks.

2. By setting the time zone manually in the Clock application or under Settings / Date & Time.

MIDlet programmers should be aware that Java applications are just about the only application in the phone that uses the time zone. Thus, users might have incorrect time zone settings in their phone without being aware of it.

65 page views in the last 30 days.