-
Notifications
You must be signed in to change notification settings - Fork 4
/
754.txt
88 lines (64 loc) · 3.1 KB
/
754.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
* 時刻
[4] [[小数部]]を使って[[時刻]]を含めることがあります。
* 閏秒
[5] [[整数部]]のみで[[日]]のみ表す場合、[[閏秒]]は問題となりません。
[6] [[小数部]]を含む場合、[[時刻]]がどう扱われているのかは謎です。
* 換算
[FIG[
[9] [[修正ユリウス日]] = [[ユリウス日]] - 2400000.5
]FIG]
[FIG[
[7] [[Unix time]] = (ユリウス通日 - 2440587.5) × 24 × 60 × 60
[8] ユリウス通日 = [FRAC[[[Unix time]]][24 × 60 × 60]] + 2440587.5
]FIG]
[FIG[
[FIGCAPTION[
[11] [[ユリウス暦]]への変換 [SRC[>>1]]
]FIGCAPTION]
[FIG(steps)[
= [VAR[n]] = 修正ユリウス日 + 678883
= [VAR[e]] = 4 × [VAR[n]] + 3
= [VAR[h]] = 5 × ⌊[FRAC[[VAR[e]] % 1461][4]]⌋ + 2
= [VAR[D]] = ⌊[FRAC[[VAR[h]] % 153][5]]⌋ + 1
= [VAR[M]] = ⌊[FRAC[[VAR[h]]][153]]⌋ + 3
= [VAR[Y]] = ⌊[FRAC[[VAR[e]]][1461]]⌋
= [VAR[M]] > 12 なら、
== [VAR[M]] = [VAR[M]] - 12
== [VAR[Y]] = [VAR[Y]] + 1
= ユリウス暦年月日 = ([VAR[Y]], [VAR[M]], [VAR[D]])
]FIG]
]FIG]
* メモ
[1] [CITE@ja[ユリウス通日 - Wikipedia]]
([TIME[2015-12-07 00:15:02 +09:00]] 版)
<https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%AA%E3%82%A6%E3%82%B9%E9%80%9A%E6%97%A5>
[2] [CITE@ja[修正ユリウス通日 - MonoBook]]
([TIME[2015-11-11 00:12:25 +09:00]] 版)
<http://monobook.org/wiki/%E4%BF%AE%E6%AD%A3%E3%83%A6%E3%83%AA%E3%82%A6%E3%82%B9%E9%80%9A%E6%97%A5>
[3] [CITE@ja[ユリウス通日 - MonoBook]]
([TIME[2015-11-11 00:12:25 +09:00]] 版)
<http://monobook.org/wiki/%E3%83%A6%E3%83%AA%E3%82%A6%E3%82%B9%E9%80%9A%E6%97%A5>
[FIG(quote)[
[FIGCAPTION[
[10] [CITE[グレゴリオ暦/ユリウス暦 ⇔ ユリウス日 (または一般の通算日数) 変換アルゴリズム]]
([TIME[2015-12-23 21:58:41 +09:00]] 版)
<http://www5d.biglobe.ne.jp/~noocyte/Programming/GregorianAndJulianCalendars.html#DateToDayNumber>
]FIGCAPTION]
> 7.1 でも書いたが,日内時刻を通算日数の小数部として表現する方法は1日の長さが一定 (86400秒) であることが大前提なので,閏秒を扱うことは不可能.
> (計算できるか否かという以前に,そもそも閏秒を表現することさえできない.)
]FIG]
[FIG(quote)[
[FIGCAPTION[
[12] [CITE@ja[JIS X 7136:2012 地理情報−地理マーク付け言語(GML)]]
([TIME[2015-10-18 16:42:13 +09:00]] 版)
<http://kikakurui.com/x7/X7136-2012-01.html>
]FIGCAPTION]
> gml:julianReference 属性は,参照している日に対応するユリウス日(Julian date)を記述する。ユリウス日数は整数であり,ユリウス日は,より細かい分解能を使用することができる小数値を含む。暦の日からユリウス日への変換,及びユリウス日から暦の日への変換によって,ある暦から別の暦への変換のための比較的簡単な基準が与えられる。
]FIG]
[13]
>
:[DFN@en[JD]]:[[ユリウス日]]。
出典:
- [[ISO/IEC 10744]]:1997
--[CSECTION@en[4 Symbols and Abbreviations]]
<http://y12web2.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-4.html#clause-4>