/
559.txt
90 lines (62 loc) · 3.25 KB
/
559.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
[FIG(quote)[
[FIGCAPTION[
[1] [CITE@ja[システム時刻 - Wikipedia]]
([TIME[2017-01-07 18:01:59 +09:00]])
<https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%99%82%E5%88%BB>
]FIGCAPTION]
> Microsoft Windows NTでは1601年1月1日0時0分(UTC)(先発グレゴリオ暦)からの100ナノ秒ティック単位での経過時間が主に用いられる。ただし後者は、現在時刻を最も近いミリ秒の値に近似している。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[2] [CITE@ja[電子機器の時刻]]
([TIME[2017-01-09 16:21:39 +09:00]])
<http://www.ffortune.net/calen/calen/etime.htm>
]FIGCAPTION]
> NTFSではファイルの時刻を1601年1月1日起点の64bitの経過時間で持っています。時間の単位は0.1μ秒です。1601年1月1日0時0分0秒の2**64=1844674407370.9551616秒後は60056年5月28日5時36分10.9551616秒になります。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[3] [CITE[真珠猫Blog: Windows時間をローカル時間に変換]]
([TIME[2014-10-07 09:54:09 +09:00]])
<http://pearllynx.blogspot.jp/2013/03/windows.html>
]FIGCAPTION]
> ActiveDirectryの情報をPerlで取得したりすると、最終ログイン日時やパスワード変更日時が上記の秒数になって表示されているので、変換する必要があります。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[4] [CITE[日付時刻に関する処理]]
([TIME[2015-12-14 13:39:42 +09:00]])
<http://home.a00.itscom.net/hatada/c-tips/datetime.html>
]FIGCAPTION]
> FILETIME構造体は次のように定義された 1601 年 1 月 1 日午前 12 時からの 100 ナノ秒間隔の数 (UTC)を表す64ビット整数である。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[5] [CITE@ja[厄介なActiveDirectoryの日付 « もみんぎゅぅ]]
([TIME[2017-01-09 16:26:33 +09:00]])
<http://cmf.ohtanz.com/blog/archives/25>
]FIGCAPTION]
> Windows 2003 ServerのActiveDirectory(Windowsすべての日付がそうなのかは不明ですが)上の日付というのは1601年1月1日から100ナノ秒(10000000分の1秒?)間隔というワケのワカラン仕様なのです
]FIG]
[FIG(quote)[
[FIGCAPTION[
[6] [CITE@en[DateTime.ToFileTime Method (System)]]
([TIME[2017-01-09 16:32:05 +09:00]])
<https://msdn.microsoft.com/en-us/library/system.datetime.tofiletime(v=vs.110).aspx>
]FIGCAPTION]
> A Windows file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC). Windows uses a file time to record when an application creates, accesses, or writes to a file.
]FIG]
[7] [CITE@en-US[Why is the Win32 epoch January 1, 1601? – The Old New Thing]]
([TIME[2017-01-09 16:48:01 +09:00]])
<https://blogs.msdn.microsoft.com/oldnewthing/20090306-00/?p=18913>
[8] [CITE[date - What is the significance of January 1, 1601? - Stack Overflow]]
([TIME[2017-01-09 16:49:03 +09:00]])
<http://stackoverflow.com/questions/10849717/what-is-the-significance-of-january-1-1601>
[FIG(quote)[
[FIGCAPTION[
[9] [CITE@ja[FILETIME structure (Windows)]]
([TIME[2017-01-09 17:30:07 +09:00]])
<https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms724284.aspx>
]FIGCAPTION]
> Contains a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC).
]FIG]