/
328.txt
101 lines (71 loc) · 5.24 KB
/
328.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
[13] [[計算機]]には、[[時計]]があります。[DFN[[RUBYB[システム時計]@en[system clock]]]]などと呼ばれています。
* 動作
[4] 次のような理由で、[[時計]]の値は非直感的に変化することがあります。
[FIG(list)[
- [5] [[時計]]はそもそも正確ではありません。
[[温度]]など[[物理的]]な理由で時刻の刻み幅が微妙に変化することがあります。
- [7] [[NTP]] により[[時刻]]が修正されることがあります。時間を飛ばしたり、過去に戻したりすることがあります。
- [6] [[利用者]]が手動で[[時刻]]を設定することがあります。時間を飛ばしたり、過去に戻したりすることがあります。
- [8] [[計算機]]・[[VM]] が一旦停止状態となり、その後復帰した時、時間が一気に進む (ようにみえる) ことがあります。
- [9] 時刻表示上、[[閏秒]]は存在しないものとして扱われるのが一般的です。
補正のため時刻の刻み幅が変化したり、一度に進んだり、過去に戻ったりすることがあります。
- [11] [[UTC]] でなく[[地方時][地方標準時]]を用いる場合、[[夏時刻]]の実施や[[標準時]]の変更などにより、
時間を進めたり戻したりすることがあります。
]FIG]
;; [3] [[time skew]]、[[time drift]] も参照。
[10] 狭義の[[システム時計]]の他に、[[プログラム]]上不便なこうした性質を除去した[[単調増加時計]]が[[プラットフォーム]]側で提供される場合もあります。
* 時間帯
[15] [[地方時][時間帯のない日時]]に設定する場合と、[[UTC]] に設定する場合があります。
;; [16] [[UTC]] に設定する場合、[[プラットフォーム]]側で必要に応じて[[利用者]]の[[時間帯]]に変換して[[表示]]します。
[17] 古めのシステムは、[[地方時][時間帯のない日時]]を採用していることが多いです。
[[Windows]] も[[地方時][時間帯のない日時]]を使っています。
[18] 最近のシステムは、[[UTC]] を採用していることが多いです。
多くの [[Unix]] 系システムは [[UTC]] を使っています。
[20] [[アプリケーション]]との関係性については、[[計算機システムにおける時差]]を参照。
* API
[FIG(short list)[ [12] [[システム時計]]にアクセスする [[API]]
- [CODE[gettimeofday]]
- [CODE[clock_gettime]]
- [CODE(perl)[time][time (Perl)]]
- [CODE[gmtime]]
- [CODE[localtime]]
- [[時計 (Web)]]
- [CODE[fn:current-dateTime]]
- [CODE[faketime]]
]FIG]
* 関連
[23] [[uptime]] も参照。
* メモ
[FIG(quote)[
[FIGCAPTION[
[1] [CITE@en[Time - ArchWiki]]
( ([TIME[2016-06-18 13:12:32 +09:00]]))
<https://wiki.archlinux.org/index.php/time>
]FIGCAPTION]
> 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.
]FIG]
[2] [CITE@ja[カーネルにおけるタイマー事情 ~第2回 カーネル内の時刻/時間関連サブシステム~ | VA Linux Systems Japan株式会社]]
( ([TIME[2016-06-20 16:07:53 +09:00]]))
<http://www.valinux.co.jp/technologylibrary/document/linuxkernel/timer0002/>
[FIG(quote)[
[FIGCAPTION[
[14] [CITE[OpenVMS マニュアル | HPE 日本]]
([TIME[2017-01-26 22:15:04 +09:00]])
<http://h50146.www5.hpe.com/products/software/oe/openvms/manual/v83/html/C_RTL1/docu_031.html>
]FIGCAPTION]
> OpenVMS Version 7.0 以降, HP C RTL では日付/時刻サポート・モデルがローカル時刻ベースのモデルから UTC (協定世界時) ベースのモデルに変更されました。この結果,以前は実装することができなかった ANSI C/POSIX 機能を HP C RTL で実装することができるようになりました。 UTC 時刻ベースのモデルを導入したことで, HP C RTL は Tru64 UNIX の時刻関数の動作とも互換性を保持することができるようになりました。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[19] [CITE@ja[ゲーム内時間とWindows時間が連動して遅れる | 知識王(質問掲示板) | マビノギ]]
([TIME[2017-02-05 21:33:12 +09:00]])
<http://mabinogi.nexon.co.jp/community/knowledgeContent.asp?ty=&c1=4&c2=24&lv=1&od=&ix=14658&p=15>
]FIGCAPTION]
> 試しに朝Nortonをアンインストールし、mabinogiをやってみたら時間がずれなかったので、他のメーカーのものに切り替えたらこの問題は解決しました。
]FIG]
[21] [CITE@ja[IBM Knowledge Center - 時刻に関連した概念]]
([TIME[2017-03-18 18:26:53 +09:00]])
<https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_72/rzati/rzatitime.htm>
[22] [CITE@ja[Windows搭載の一部PCで時計が1時間早まる不具合が発生。MSが修正を発表するも原因は非公表 | スラド]]
([TIME[2017-04-05 20:41:06 +09:00]])
<https://srad.jp/story/17/04/05/054238/>