Hacker News new | past | comments | ask | show | jobs | submit login
The time displayed on most Android phones is wrong (zdnet.com)
66 points by Garbage on March 30, 2012 | hide | past | favorite | 46 comments



Do "most Android phones" really get their time automatically GPS? On all the ones I've used (HTC Hero, Xperia X10, Xperia Arc), I had to set the time manually (and ended up using ClockSync)

edit: the bug tracker issue linked in the article seems to suggest it's a problem with Motorola phones only http://code.google.com/p/android/issues/detail?id=5485


I have a bunch of Android phones here (developer/reviewer) and none except for Motorola phones (Droid 4, Droid Bionic) seem to set the time 15 seconds ahead checking using http://time.is

For example, the Droid 4 was 14.6 seconds off, and Droid Bionic was 14.8 seconds off...

This seems to be a vendor specific issue, as none of the non-motorola phones (Galaxy Nexus GSM/UMTS, Galaxy Nexus CDMA/LTE on VZW, Nexus S, Galaxy Note, Tab 10.1LE, a Qualcomm development MDP) are anywhere near 15 seconds, all are +/- fractions of a second, like you'd expect.


My HTC Desire is ~1 second off.


I have a Galaxy S (the first one) and it's only 0.9 seconds off.


My GS2 is also 0.9 of accurate time according to time.is, I wonder if it's just a coincidence or something common... (UK network time being off slightly?)


Where can you see the current time in seconds on ICS?


I use ClockSync too. But the problem is with my mobile phone network, not the handset. The network doesn't support NITZ (or does, but in some broken/incompatible way):

https://en.wikipedia.org/wiki/NITZ


My network (O2 uk) does not broadcast a time signal. Other networks in Europe do, wish O2 would fix it.


Interesting. But doesn't most phones get their time from the operator via the cellular network and not via GPS?


For phones there is a setting to use "network provided values" which comes from the cell towers. I don't know if it is on by default, but my phone has been that way as long as I can remember.

On Android devices with only wifi there is no automatic setting. I discovered my Galaxy Tab was drifting as I once had all my devices set to sound an alarm at once (I really had to wake up at that time). Unfortunately Android doesn't make it easy to keep your time in sync. There is a good app called ClockSync that implements NTP but that only works on rooted devices. Its stats say my clock was drifting by 3.5 seconds per day! If you don't have root then you have to change the time manually with the app guiding you. Quite why Google can't implement NTP I don't know.


But guess where the cell tower gets it time from—yep, GPS. Quick research shows CDMA2000 (at least) uses GPS time (probably, they didn't want to deal with leap seconds).


Yes, they do. Unfortunately, the time my (GSM) operator sends is off by 2 minutes when I compare it to GPS data or the NTP synced clock on any desktop. So this feature is not very useful and I will be very happy if I see NTP sync in a future Android version.


This is a known (Android?) bug apparently, have had Vodafone here in NL confirm it. They don't know what it is either... I've had drifts of up to 4 minutes.


To be accurate the time is not set from GPS. Turning on the GPS uses a lot of power. All that is happening is that some phones when converting times into the local timezone are not accounting for leap seconds. (The number of seconds since Jan 1, 1970 or the 1982 epoch of GPS is unchanged - it is just our human foibles with timezones and arbitrary rule calculations that are messed up.) And only for some phones.

My iPod Touch and Android Phone (HTC) have exactly the same (local) time and both are set to automatic.


Good to know when I'm trying to disable the bomb the super villain has planted and I think I have a minute left until it blows up but I really only have 45 seconds left. Oh wait, maybe the bomb timing mechanism is built on the android platform and I really do have a minute left.


I was always convinced that "network-provided" time means provided by the GSM operator over GSM. FWIW time on my phone is off by 1.4s according to time.is so it seems to be unaffected by the bug.


I just checked my stock Galaxy S2, and it was almost 2 minutes out. After enabling the automatic time setting, I checked again and it was like 1.9 seconds out.

Doesn't seem to be a problem here, either.


It also messes up 2 factor authentication as well. I've raised this on the google developers, android developers plus groups but I guess if you aint a googler, then it's like p*ssing into the wind....


This doesn't appear to be the case on ICS. My Galaxy Nexus tracks with the clock on my MBA, which is synced to Apple's NTP server.


Another Galaxy Nexus reporting in here, according to time.is, 0.7 seconds behind.


Interesting. I had always assumed smartphones would use NTP servers.


Check http://time.is/ in your phone's browser. My Android is 1 minute fast :(


Can it be that the bug is fixed in Cyanogen? My Nexus One with Cyanogen is 0.2 seconds off according to time.is.


I'm running Cyanogen... so at least for me it's not fixed.


My Nexus One running CM7 is also 0.2 seconds off.


On a somewhat related note, the GPS on lots of Android phones is more seriously broken than this. For AlpineReplay (app that tracks skiers and snowboarders) we routinely get visits that happen in the future. GPS timing is often off by 24 hours, 12 hours. Most common on Samsung phones but we've found it on HTC and LG as well.


It's not just GPS. Any time source that has added the "leap seconds" will be misinterpreted by Android, because Android doesn't compensate for leap seconds. So if your cellular network or other time server has leap seconds, your Android phone will be wrong even it never sets the clock via GPS.


The site says "Tyson talks about the issue at the 15m 20s mark" but it's actually at 56m 20s.


This is really odd, I'd expect on a cdma network for the clock to of necessity be slaved to the network clock, seeing as that is required to be in the network. Is there another internal clock or some other mode of operation going on?


CDMA radios do that internally.


It seems like an easy bug to fix...

People who haven't looked at the code aren't allowed to suggest that. Period.

... so I’m surprised it’s been ignored for so long.

Because 15 seconds doesn't really matter in any practical sense? Pretty much a non-story.


Disagree. If something like this is hard to fix, there is something wrong with the way the code is designed.


I do not know the code; nevertheless, I disagree. The moment you allow for leap seconds, you need to visit your apps. Can they display x hours, y minutes, 60 seconds? (IIRC, 61 seconded can occur, too). You also need to consider how and how often you update your 'current number of leap seconds' store, you have to add 'across leap seconds' checks to all duration calculations, in addition to 'across DST change' checks, etc. You also will have to decide, on a per call basis, what the programmer intended with a call ('one day later' or 'same time on the next day' or 'about 24 hours later, also on the whole hour'?) oftentimes, the programmer will not even have realized that these are different options. And heaven forbid if somebody does a calculation now for a future date, and some time later a leap second is announced for some moment before that future date.

I do not think a really nice design is possible here. There just are too many idiosyncrasies in time handling.


You are talking about display issues of leap seconds. That's a different problem from the one we're talking about, which is that the clock itself is wrong.


It is a different problem, but it largely disappears if the system does not do leap seconds.


Yep, you can get rid of UI problems by not having a screen too.


That doesn't really make the statement untrue.


Your first point is fair enough, but the second one is just ignorant.


Is it? For the vast majority of Android users, the fact that their clock is 15 seconds off is likely pretty irrelevant. I'm sure there are some use-cases where having a super-accurate clock is important, but are their enough users that need it for Google to care? Does Android guarantee some accuracy wrt its clock? I doubt it.


Not when Androids is used in US military networks.


Is Android certified for military use? I'd be surprised if so.


The best part of the video in my opinion http://www.youtube.com/watch?feature=player_embedded&v=e...


I'd just compared my Android galaxy S2 to NTP synchronized clock and they change minuter indicator about the same time. So this is not a bug in all devices...


My phone gets its time via the carrier network. It's, nevertheless, not accurate though.


Looks like it's fixed in cyanogenmod, at least on my phone. The app clocksync can show you how off you are.


Getting an android phone was what finally convinced me that Google is a brilliant marketing company.

Before getting one I was convinced that Google were able to write software.

[edit] I want text messaging to work properly. Without doing a system upgrade. Text messaging should not be a hard problem. :(




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: