shimiminの日記

IT系のメモ書きです。

Android時計の秒針が電波時計と合わない

ふと、秒まで時間を合わせる必要があり、スマホの時間と電波時計を見比べた。が。

1秒近くずれている!

なんで?ということで、調べてみたのでメモ。

Android12 の時間合わせは、ちょっと甘い

スマホの時刻合わせはNTPか、テレフォニー信号(キャリア)のどちらかで、当然1秒もずれることはないと思っていました。

が。

Android12 の時刻合わせは、リファレンスとの差が2秒以上にならないと実行されない

らしいです。まぢか。

時間が2秒もずれるなんてあり得ない...ので、合わせるやり方を色々調べたのですが、どうやらルート権限がないと駄目っぽい。

よくある「Androidで時刻を合わせるには」的な情報で

設定>システム設定>日付と時間>自動的に時刻を設定する」をオフにして、またオンにすればよい

なんてのがありますが、オフにしてオンにしても、2秒以内の差は詰めてくれないわけです...ちょっとひどくない?

Android12で時間を秒まで合わせたければ

さて、この「2秒」の秘密がわかれば、あとは合わせるのは簡単です。いったん2秒以上ずらせばよいだけ。

  1. 設定>システム設定>日付と時間>自動的に時刻を設定する、をオフにする。
  2. 適当に5分くらい時間をずらす
  3. 自動的に時刻を設定する、をオンにする。

これで秒まであってくれます。NTPサーバとのずれは、例えばこんなアプリを使えばわかります。

オフセット0秒で気持ちよき

この操作やる前は 860ms とかズレてましたからね!別のタブレットなんか 1.4秒ズレてましたからね!油断がならない...

まとめ

2秒のずれが許容できないのはマニアックすぎるかもしれませんが、電波時計に負けるのは納得がいかないということで、「いざというときはピシッと合わせる」方法を覚えておくのはアリかなと思いました。

NTPサーバの負荷を下げるためこうなっているのか、どうなのか、良くわかりませんが、まぁ普通の生活を送る分には2秒ズレていたからと言って問題になることはほとんどないのですけどね。

豆知識、ということで。

(参考情報はこちら)

source.android.com

その後

2/5 23:24から8日と9時間25分経過して、2秒ズレてます。さてどうなるか。

2秒のズレ

次の日。どうやら自動的に合わせてくれたようです。

合いました...が。いまいち

が。0.1秒ズレてる...やはり甘いような気がしますけど、仕方ないですね。