時間が変更されたとき、PCはどのように知るのですか?


15

私の国では、公式の時間は春と秋の最初の月に変わります。公式の時間が変わると、携帯電話とPCの時計も変わります。

これらのデバイスは、変化があることをどのように検出しますか?


ワオ。半年間の夏時間
mcalex

2
コンピューターは何時ですか?そして、夏時間が正しく変更されることになっている日付を知っていますか?したがって、if (date=DST_START) then hour=hour+1 else if (date=DST_END) then hour=hour-1通常はこれで十分であるというコード行をOSに書き込むのは簡単ですが、規則が変更された場合(2007年の北米など)、OSの更新をダウンロードする必要があります。それ以外の唯一の問題は、システムクロックが間違っている(例:マザーボードのバッテリーが切れている)場合、時刻を変更するタイミングがわからないことです(ただし、日付と時刻を修正する必要があるため、関係ありません)。
Synetech

回答:


20

ほとんどのオペレーティングシステムには、これを計算するための基本的なルールがあり(特定の日付の後の最初の週末など)、タイムサーバーへの接続を必要とせずに独自に調整できます。ただし、公式ルールの変更(ロシアの最新の変更など)がある場合や、システムのバックアップが復元される場合(システムが時間を2回調整する場合)、システムの時計が台無しになります。

別の方法として、一部のデバイスはリモートサーバーに接続する(とにかく常時接続する)か、他の種類の埋め込みタイムスタンプを使用します(たとえば、テレビ番組について話しているときにビデオテキスト/ ceefaxまたはDVBデータの一部としてブロードキャストします)。受信機/レコーダー/テレビ)。

編集:言及するだけです:Windowsの古いバージョン(Windows 95やWindows 98など)は、独自の推定値を信用していなかったため、変更後は常に正しい時刻を確認するようユーザーに指示しました。Windows VistaとWindows 7(その間のバージョンについてはわかりません)はこれを行わず、(タイムサーバーを使用してクロックを同期することに加えて)正しいと仮定します。


NTPにはDSTまたはタイムゾーン情報は含まれていません。現在の時刻がUTCであるかを確認するだけです。クライアントは、Olsonデータベースまたは同等のものを使用して、タイムゾーンに適したルールを個別に適用する必要があります。WindowsタイムサービスはNTPのみを実装しているようで、更新されたタイムゾーンルールを広める手段はありません:technet.microsoft.com/en-us/library/cc773061
v

NTPは、システムが調整が必要だと判断した場合(たとえば、バックアップに戻した後)に、ローカルクロックがDSTでまだ/既にあるかどうかを判断するためにのみ使用できます。ええ、UTC / GMT + 0は決して変わらないことを考えると、論理的に聞こえます。その文を少し言い換えました。
マリオ

7

Linuxは、IANAタイムゾーンデータベースを使用して、DSTがいつ変更されるかを認識します。Windowsの場合、さまざまな理由で別の話があります。1つは、Windowsは現地時間でRTCを使用し、UTCではLinuxを使用します。WindowsでDSTが変わると想像してください。これにより、将来ファイルを「作成」できるようになり、いくつかの問題が発生する可能性があります。また、古いWindowsではDSTの扱いが異なります。異なるDSTルールがあり、MicrosoftはこれらのWindowsバージョンの更新を提供しないため、DSTルールの変更ができなくなりました。

詳細はこちら:http : //en.wikipedia.org/wiki/Daylight_saving_time#Computing


2

簡単に言うと、OSは更新をプッシュして時間を調整します。

WindowsはWindows Updateを介してこれを行い、Linuxはタイムゾーンファイルを使用してこれを行います


少なくとも古いバージョンでは、Windowsには当てはまりません。Windowsはこれを独自に計算できます(Linuxに似ています)が、これは(リンクしたように)ルールがないため更新が必要です。
マリオ

1

携帯電話は、ネットワークを介して時刻を更新します。同様に、Windowsの場合、インターネット経由で更新されます。これは、自動時刻更新を選択した場合にのみ機能します。モバイルまたはPCで日付と時刻の設定を確認できます。 ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.