-
Notifications
You must be signed in to change notification settings - Fork 4
/
399.txt
183 lines (125 loc) · 8.08 KB
/
399.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
182
183
[3] [[グレゴリオ暦]]における[DFN[[RUBY[閏年][うるうどし]@en[leap year]]]]とは、
[[暦日]]が366ある[[暦年]]です [SRC[>>2 2.2.17]]。
* 仕様書
[REFS[
- [11] [[明治三十一年勅令第九十号]]
- [2] [[ISO 8601:2004]]
]REFS]
* 閏年と平年の定義
[6] いくつかの定義がありますが、いずれも次の説明と等価です。[[西暦年]][VAR[年]]は、
[FIG(steps)[
= [9] [VAR[年]]が400で[[割り切れる]]なら、[[閏年]]です。
= [8] それ以外で、[VAR[年]]が100で[[割り切れる]]なら、[[平年]]です。
= [7] それ以外で、[VAR[年]]が4で[[割り切れる]]なら、[[閏年]]です。
= [10] それ以外なら、[[平年]]です。
]FIG]
[33] [[Perl]] で簡潔に書くと、
[PRE(pre code)[
sub is_leap_year ($) {
return $_[0] % 400 ? $_[0] % 100 ? $_[0] % 4 ? 0 : 1 : 0 : 1;
}
]PRE]
** 勅令に拠る定義
[14] [[閏年]]は、[[神武天皇即位紀元]]による[[年数]]が4で[[割り切れる]][[年]]です。
ただし、[[年数]]から660を引いて100で[[割り切れる]]年は[[平年]]です。
しかし、[[年数]]から660を引いて400で[[割り切れる]]年は[[閏年]]です。 [SRC[>>11]]
** ISO 8601 による定義
[4] [[閏年]]は、[[年数]]が4で[[割り切れる]][[年]]です。ただし、
[[centennial year]] は400で[[割り切れる]][[年]]を除き、[[閏年]]ではありません。 [SRC[>>2 3.2.1]]
[[閏年]]でない[[年]]は、[[平年]]です。
* 閏日
[21] [[閏年]]に挿入される[[日]]は、[[閏日]]と呼ばれることがあります。
[22] [[グレゴリオ暦]]の[[閏日]]は、[[2月29日]]です。
* 作品
[FIG(short list)[ [27] [[閏年]]を扱った[[作品]]
- [CITE[あっちゅ〜ま青春!]]
- [29] [CITE@ja-jp[『うるう年の少女』無料上映会/映画『カメラを止めるな!』公開記念 - 2018/06/18 21:00開始 - ニコニコ生放送]]
([TIME[2018-06-18 00:05:59 +09:00]])
<http://live.nicovideo.jp/gate/lv313752334>
]FIG]
* 関連
[5] [[HTML]] や [[XML Schema]] は、「[[閏年]]」を定義せず、[[日の数]]を直接定義しています。
* 歴史
** ユリウス暦
[20] [[ユリウス暦]]参照。
** グレゴリオ暦
[19] [[改暦]]経緯については[[グレゴリオ暦]]を参照。
** 日本の太陽暦
[12] [[明治五年太政官布告第三百三十七号]]は、4年に1回を[[閏年]]としていました。
[13] [[明治三十一年勅令第九十号]]は >>12 の[[閏年]]の定義を[[グレゴリオ暦]]と同じ正しい定義に修正するものです。
* メモ
[1] [CITE[今年が『うるう年』だってことを忘れていて、公式サイトを間違えて1日早くオープンしちゃった美少女ゲームブランド「地雷ソフト」が色々と凄い:【2ch】ニュー速VIPブログ(`・ω・´)]]
( ([TIME[2012-02-29 07:50:32 +09:00]] 版))
<http://blog.livedoor.jp/insidears/archives/52530052.html>
[15] [CITE[グレゴリオ暦/ユリウス暦 ⇔ ユリウス日 (または一般の通算日数) 変換アルゴリズム]]
( ([TIME[2014-06-07 06:20:30 +09:00]] 版))
<http://www5d.biglobe.ne.jp/~noocyte/Programming/GregorianAndJulianCalendars.html#DayNumbers>
[16] [CITE@ja[Excel の 1900 年を基準とした日付方式と 1904 年を基準とした日付方式の違いについて]]
([TIME[2015-05-09 10:53:45 +09:00]] 版)
<https://support.microsoft.com/ja-jp/kb/214330/ja>
[17] [CITE@ja[1900 年 3 月 1 日の前に曜日が Excel で正しくないです。]]
([TIME[2015-05-09 10:54:16 +09:00]] 版)
<https://support.microsoft.com/ja-jp/kb/214058>
[FIG(quote)[
[FIGCAPTION[
[18] [CITE[【228】Perl での紀元前の日数計算をもうちょっと調べる… - 分室の分室]]
([TIME[2015-12-14 14:40:59 +09:00]] 版)
<http://d.hatena.ne.jp/foussin/20120421/1334936160>
]FIGCAPTION]
> 紀元前1年(西暦0年) 2月29日から、日付が 1日ズレている。紀元前 1年を閏年
> とするのは、まあ分かるんだけど。。。
> 【重要】
> ただ、ズレた日付の曜日は、正しい曜日になっている。なので、当面の措置と
> しては『0年2月29日より昔の日付』は、日数を -1 してから timegm() に渡す…
> という修正をするしかないかな
]FIG]
[23] [CITE@ja[閏年に女性から告白されると断れない法律は存在しない、我らの時代のフォークロア - ネットロアをめぐる冒険]]
( ([TIME[2016-05-12 13:31:38 +09:00]]))
<http://ibenzo.hatenablog.com/entry/2016/03/02/070000>
[24] [CITE[うるう年効果でプラス成長? | NHKニュース]]
( ([[日本放送協会]]著, [TIME[2016-05-24 14:09:31 +09:00]]))
<http://www3.nhk.or.jp/news/business_tokushu/2016_0523.html?utm_int=detail_contents_tokushu_004>
[FIG(quote)[
[FIGCAPTION[
[25] [CITE[SCEがPSN関連のPS3不具合について状況報告~24時間以内の解決を約束 - わぱのつれづれ日記]]
([TIME[2016-07-26 08:19:41 +09:00]])
<https://d.hatena.ne.jp/wapa/20100302/1267469183>
]FIGCAPTION]
> 先のエントリのP.S.5のところで引用した上記の記事を考察すると、どうも問題を起こす機種は、現在の日付を「2/29」とうるう年と誤認しており、結果として無効な値をOS側に返している可能性があるようです。このため、OSが無効な日付だと認識し、結果システムの時刻を初期値である2000/1/1に戻しているのではないかと。また、そうした無効な日付の値から、PSNのサービスでも「致命的エラー」と判定してエラーコードをだしているのかもしれません。
> 一応、日本時間の3/2午前9時になれば、PCなどの機械で時計管理に広く用いられているグリニッジ標準時(GMT)でも3/2になり、内部のシステムが一応有効な日付を返してくる可能性があります。そうなれば、あとはサーバー側の手続きで対応可能、ということなのではないかと思われます。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[26] [CITE[ソニー、ウォークマンAのワンセグ“うるう年問題”を改善]]
([TIME[2016-12-11 18:35:12 +09:00]])
<http://av.watch.impress.co.jp/docs/20080422/sony2.htm>
]FIGCAPTION]
> 対象機種はNW-A916/A918/A919の3製品。これらのモデルでは、うるう年の2月29日に番組表の時刻表示が「**:**」と表示されて録画予約が行なえず、「この番組を録画」で録画しようとすると、「番組の終了時刻が取得できませんでした。8時間録画します」と表示され、録画が開始されるという問題が発生していた。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[28] ([TIME[2001-11-11 14:06:55 +09:00]])
<http://cr.yp.to/proto/utctai.html>
]FIGCAPTION]
> Fortunately, the POSIX rules are so outrageously dumb---for example, they require that 2100 be a leap year, contradicting the Gregorian calendar---that no self-respecting engineer would obey them.
]FIG]
[30] [CITE[ゴー☆ジャス@レボ☆リューション~こんな声優ファン☆タスティック with ちくわP~ - 2019/02/11(月) 21:30開始 - ニコニコ生放送]]
([TIME[2019-02-14 19:41:51 +09:00]])
<http://live2.nicovideo.jp/watch/lv318216762>
[FIG(quote)[
[FIGCAPTION[
[31] [CITE[Law section]]
([TIME[2019-05-14 11:34:59 +09:00]])
<https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=GOV§ionNum=6802.>
]FIGCAPTION]
> CODE TEXT
> GOVERNMENT CODE - GOV
> TITLE 1. GENERAL '''['''100 - 7914''']''' ( Title 1 enacted by Stats. 1943, Ch. 134. )
> DIVISION 7. MISCELLANEOUS '''['''6000 - 7599.2''']''' ( Division 7 enacted by Stats. 1943, Ch. 134. )
> CHAPTER 8. Computation of Time '''['''6800 - 6808''']''' ( Chapter 8 added by Stats. 1951, Ch. 655. )
>
> 6802.
]FIG]
[32] [CITE['''['''tz''']''' tzcode history (was: Re: Java & Rearguard)]]
([TIME[2019-06-05 01:49:06 +09:00]])
<https://mm.icann.org/pipermail/tz/2019-June/028060.html>