/
356.txt
181 lines (125 loc) · 7.03 KB
/
356.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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
[21]
[DFN[紀元前]]は、
[TIME[西暦元年][year:1]]よりも前の[[時代]]です。
元年の前年を紀元前1年、
その前年を2年のように数えていく[[カウントダウン的紀年法]]です。
* 西暦0年以前の取り扱い
[6] [[西暦]]は「0年」を置くか否かにより、2種類の表現方法がありえます。
[17] 主に[[歴史]]の文脈では、([[紀元後]])1年の前の年は「[[紀元前]]1年」 (-1年) とします。
[2] [[0年]]がないもの:
[FIG(list short)[
- 「[[紀元前]]」、「[[BC]]」、「[[BCE]]」などと記された[[西暦]]表記
- [[XML Schema 1.0]] [CODE(XML)@en[xs:dateTime]]
- [[XDM]] [CODE[AD][AD (XDM)]]
]FIG]
[18] 主に[[天文学]]や[[計算機]]上の処理では、([[紀元後]])1年の前の年は「0年」、その更に前の年は
「-1年」とします ([DFN[天文学的紀年法]])。
[1] [[0年]]を置くもの:
[FIG(list short)[
- [[ISO 8601]] [[展開表現]]
- [[XML Schema 1.1]] [CODE(XML)@en[xs:dateTime]]
- [[XDM]] [CODE[ISO][ISO (XDM)]]
]FIG]
[20] [[HTMLの日付形式]]は、([[紀元後]]) 1年以降の日付のみを対象とし、この問題を回避しています。
[10] [[SQLの日時形式]]は「0年」に特別な意味を与えています。
[23]
[[0年]]を置か'''ない'''場合、
[[元期]]をまたぐ[[期間計算]]には注意が必要です。
[EG[
[24] 紀元前10年からみて紀元後10年は何年後でしょうか。
]EG]
[EG[
[25] 紀元前12年は[[グレゴリオ暦]]の[[閏年]]でしょうか?
]EG]
[22]
混乱を防ぐため、
[[計算機]]処理では、
特別な理由がない限り、
[[0年]]を'''置く'''方法を選択するべきです。
[[計算機]]処理以外でも、
方法が指定されている場合を除き、
[[0年]]を'''置く'''方法を選択するべきです。
* 表記
[4] [[日本語]]では、「紀元前12年」や「前12年」のように表記します。
[5] [[中文]]では、「公元前12年」のように表記します。
[FIG(quote)[ [11] [[JIS X 7108:2004]] 4.2
[DFN[BC]] [[西暦紀元前]] ([[Before Christ]])
]FIG]
* 暦法
[13]
[[グレゴリオ暦]]を用いる場合、
[[ユリウス暦]]を用いる場合、
その他の場合がありますので、注意が必要です。
[SEE[ [[西暦]], [[先発グレゴリオ暦]] ]]
* 換算
[19] [[換算][暦の換算]]は簡単ですが、間違いやすいです。
[15] [[西暦年]] ([[天文学的紀年法]]) [VAR[ad]]
を[[紀元前]]年 [VAR[bc]] に変換するには、
[FIG(math)[
[VAR[bc]] = 1 - [VAR[ad]] ([[assert]]: [VAR[ad]] ≦ 0)
]FIG]
[16]
[[紀元前]]年 [VAR[bc]] を[[西暦年]] ([[天文学的紀年法]]) [VAR[ad]]
に変換するには、
[FIG(math)[
[VAR[ad]] = 1 - [VAR[bc]] ([[assert]]: [VAR[bc]] > 0)
]FIG]
* 世紀
[SEE[ [[紀元前世紀]] ]]
* メモ
[FIG(amazon)[
紀元前
]FIG]
[FIG(quote)[
[FIGCAPTION[
[3] [CITE@ja[B.C.(紀元前)、A.D.(紀元後)は、なぜ前者は英語で、後者はラテン語なのかを知りたい。 | レファレンス協同データベース]]
([[国立国会図書館]] 著, [TIME[2016-03-11 18:48:26 +09:00]] 版)
<http://crd.ndl.go.jp/reference/modules/d3ndlcrdentry/index.php?page=ref_view&id=1000029254>
]FIGCAPTION]
> 紀元以前の年の数え方は、比較的新しく、国により異なるらしい。
> 『歴史はいつ始まったか』によれば、「18世紀以降にはキリスト以前を意味するante Christ(略号A.C.)が用いられ、イギリスではそれを英語で示したbefore Christ(B.C.)が使用されるようになった。日本で一般的に使用されるB.C.は英語に結びつくもので必ずしも国際的とはいえない。」とあり。同書にはフランスの表記法も紹介されている。
> 《Wikipedia》にはフランス、ドイツ、スペイン語での表記法あり。参考までに紹介する。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[7] [CITE@ja[データ型]]
([TIME[2017-02-24 10:24:15 +09:00]])
<https://docs.oracle.com/cd/E57425_01/121/SQLRF/sql_elements001.htm>
]FIGCAPTION]
> Oracle Databaseでは、ユリウス日の計算に天文学方式を使用しています。この方式では、紀元前4713年は-4712として計算されます。これに対し、歴史学方式では、紀元前4713年は-4713として計算されます。Oracleのユリウス日を、歴史学方式で計算した値と比較する場合には、紀元前の日付に365日の違いがあることに注意してください。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[8] [CITE[The 21st Century and the 3rd Millennium]]
([TIME[2017-03-10 19:37:14 +09:00]])
<http://aa.usno.navy.mil/faq/docs/millennium.php>
]FIGCAPTION]
> We would say that Scaliger's initial epoch was 4713 BC or -4712. In the historical system of dating, AD 1 is preceded by 1 BC; there is no year 0. In the astronomical system, AD 1 is designated +1; this is preceded by year 0, which is preceded by year -1. The historical system was introduced in the 16th century. However, the astronomical system was not introduced until the 18th century.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[9] [CITE[PostgreSQLとOracleの仕様の相異]]
([TIME[2011-12-07 15:12:08 +09:00]])
<http://interdbconnect.sourceforge.net/oracle_fdw/difference-ja.html>
]FIGCAPTION]
> 西暦1年の1年前は紀元前1年です。西暦1年の2年前は紀元前2年です。また、西暦0年および紀元前0年は存在せず、リテラルとして入力するとエラーとなります。 西暦1年の1年前は西暦0年です。西暦1年の2年前は紀元前1年です。また、西暦0年はデータとして保持可能ですが、リテラルとして入力するとエラーとなります。 紀元をまたいだ日付演算は、PostgreSQLの演算結果とOracleの演算結果で1年ずれます。
]FIG]
[12] [CITE@ja[天文学的紀年法 - Wikipedia]]
([TIME[2019-08-05 11:44:47 +09:00]])
<https://ja.wikipedia.org/wiki/%E5%A4%A9%E6%96%87%E5%AD%A6%E7%9A%84%E7%B4%80%E5%B9%B4%E6%B3%95>
[FIG(quote)[
[FIGCAPTION[
[14] [CITE@ja[1世紀 - Wikipedia]]
([TIME[2019-10-20 19:36:42 +09:00]])
<https://ja.wikipedia.org/wiki/1%E4%B8%96%E7%B4%80>
]FIGCAPTION]
> 天文学以外では通常、西暦0年は存在せず、また0世紀もない。これは、ヨーロッパで西暦ができた6世紀の時点では、まだヨーロッパ人は零の概念を知らなかったためであると言われることもあるが、元年以前を表すために紀元前が導入されたのは零の概念が普及した後の17世紀のことである。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[26] [CITE[暦に関する雑学]]
([TIME[2004-01-17T07:26:00.000Z]], [TIME[2020-09-13T06:06:25.230Z]])
<http://www.toshiomi.net/kyotojtn/koyomi.htm>
]FIGCAPTION]
> しかし B.C. は英語であるため国際的でない。現にフランスではキリスト以前(avant Jesus-Christ)を略して av.J.-C. と書いている。
]FIG]