[13] 計算機には、時計があります。システム時計などと呼ばれています。
[4] 次のような理由で、時計の値は非直感的に変化することがあります。
[10] 狭義のシステム時計の他に、プログラム上不便なこうした性質を除去した単調増加時計がプラットフォーム側で提供される場合もあります。
[15] 地方時に設定する場合と、UTC に設定する場合があります。
[17] 古めのシステムは、地方時を採用していることが多いです。 Windows も地方時を使っています。
[18] 最近のシステムは、UTC を採用していることが多いです。 多くの Unix 系システムは UTC を使っています。
[20] アプリケーションとの関係性については、計算機システムにおける時差を参照。
The standard used by hardware clock (CMOS clock, the time that appears in BIOS) is defined by the operating system. By default, Windows uses localtime, Mac OS uses UTC, and UNIX-like operating systems vary. An OS that uses the UTC standard, generally, will consider CMOS (hardware clock) time a UTC time (GMT, Greenwich time) and make an adjustment to it while setting the System time on boot according to your time zone.
[2] カーネルにおけるタイマー事情 ~第2回 カーネル内の時刻/時間関連サブシステム~ | VA Linux Systems Japan株式会社 ( ()) http://www.valinux.co.jp/technologylibrary/document/linuxkernel/timer0002/
OpenVMS Version 7.0 以降, HP C RTL では日付/時刻サポート・モデルがローカル時刻ベースのモデルから UTC (協定世界時) ベースのモデルに変更されました。この結果,以前は実装することができなかった ANSI C/POSIX 機能を HP C RTL で実装することができるようになりました。 UTC 時刻ベースのモデルを導入したことで, HP C RTL は Tru64 UNIX の時刻関数の動作とも互換性を保持することができるようになりました。
試しに朝Nortonをアンインストールし、mabinogiをやってみたら時間がずれなかったので、他のメーカーのものに切り替えたらこの問題は解決しました。
[21] IBM Knowledge Center - 時刻に関連した概念 () https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_72/rzati/rzatitime.htm
[27] IBM PC Real Time Clock should run in UT, , https://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html
[26] RealTimeIsUniversalの落とし穴にはまった: エンジニア徒然草, http://mitaka1954.cocolog-nifty.com/blog/2012/01/realtimeisunive.html
[22] Windows搭載の一部PCで時計が1時間早まる不具合が発生。MSが修正を発表するも原因は非公表 | スラド () https://srad.jp/story/17/04/05/054238/
まずシステム時計だが, Windows 95 ではタイムゾーンを変えても見かけの時刻は変化しないので, たとえばノートマシンを持って日本から米国に移動した場合, まずタイムゾーンを変えて, しかる後に時刻も合わせ直さなければならない。 いっぽう Windows NT 4.0 では, タイムゾーンを変更すれば, 自動的に時刻も変わってくれる。
次にファイルの時刻だが, Windows NT で NTFS を使った場合, タイムスタンプは UTC (GMT) で記録されているので, タイムゾーンを変えると自動的にファイルのタイムスタンプも変わる。 いっぽう (NT でも Win95/98 でも) FAT の場合はローカルタイムで記憶されているので, タイムゾーンを変えてもファイルの(見かけの)タイムスタンプは変わらない。
ただし, Win32 API レベルでは, ファイルの日付はファイルシステムにかかわらず常に UTC で得られる。 ローカルタイムを得るには FileTimeToLocalFileTime API を呼んで変換してやらなければならない。
気になるのが CD-ROM である。 ISO 9660 では, タイムスタンプをローカルタイム + 時差(15分単位) を記録することになっている。 しかしこの時差の扱いは OS によって違うような気がする(未調査)。
[29] IBM PC Real Time Clock should run in UT, , https://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html
[30] RealTimeIsUniversal bug in Vista, https://social.msdn.microsoft.com/Forums/en-US/0b872d8a-69e9-40a6-a71f-45de90c6e243/realtimeisuniversal-bug-in-vista?forum=tabletandtouch
[28] RealTimeIsUniversalの落とし穴にはまった: エンジニア徒然草, http://mitaka1954.cocolog-nifty.com/blog/2012/01/realtimeisunive.html