/
125.txt
3512 lines (2522 loc) · 161 KB
/
125.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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[53] [[西暦年]]その他の4桁年号は下2桁のみで扱われることが少なくありません。
[[元号年]]も1桁ないし2桁です。
[DFN[2桁年号]]は古今東西ひろく用いられている[[紀年法]]クラスといえます。
* 2桁年号
[47]
現在[[西暦年]]は[[十進数]]で4桁ですが、
2桁で表記されることが多いです。
2桁で表記される方が日常的にはむしろ多いのではないかと思われるほどに一般的な表記となっています。
[235] 省略を「[DFN[[[']]]]」 で表すこともよくあります。
[EG[
[48] 例えば、
[TIME[1989年][year:1989]]はそのまま「1989」
と表記されるだけでなく、
「'89」
のように [[']] で省略を示したり、更に略して
「89」
のように表記されたりします。
]EG]
;; [255]
[[英語]]では [CODE[']] で省略を表すのは極めて一般的な用法であって、
数値列でも、例えば[[特許番号]]の下3桁をいかして「'123」
のように表記する例がみられます。
[[西暦年]]の省略に適用するのも特殊の用法ではないとみられます。
とはいえ[[英語]]でも[[西暦年]]以外の数値列の用法は多くないとみられ、
.[[日本語]]では[[西暦年]]以外ほとんど使われません。
[49] [[英語]]では4桁年を2桁ずつ読みます。
1つの4桁整数で表現されていても、
2つの部分で構成されるとの意識がありそうです。
[SEE[ [[英語西暦年]] ]]
[50]
2桁表記は[[西暦年]]のみならず、
[[仏滅紀元]]や[[皇紀]]や[[科学紀元]]にも見られます。
[148] [DFN[皇紀下2桁年]]は[[日本軍]]の[[制式名称]]などで使われました
([SEE[ [[昭和時代の日時]] ]])。
[[インドネシア]]の独立宣言にも見られ、
当時の[[大日本帝国]][[南方占領地]]旧[[蘭領東インド]]で広く用いられていたと思われます。
[SEE[ [[インドネシアの標準時]] ]]
[85] これらは単調増加する[[西暦]]その他から派生し
0年から99年までを繰り返す[[循環型紀年法]]とみることもできます。
[125] [[元号]]、[[即位紀年]]、[[干支年]]も
2桁に収まります。
つまり多くの[[紀年法]]は2桁以下で年を表現するといえます。
人が自然に扱える[[数]]の大きさからの帰結だといわれています [SRC[>>258]]。
人の寿命がほぼ収まる大きさであることも関係ありそうです。
[124]
近年[[民国紀元]]と[[主体紀元]]が2桁から3桁に進みました。
歴史上の[[紀年法]]でも3桁がリアルタイムで使われるのは珍しく、
この先どう利用されていくのか注目するべきです。
[376]
[[立教 (天理教)]]
は長年3桁で使われていて、稀に[[元号名]]なしの年数だけの3桁表記も使われているようです。
;; [162]
小さな[[子供]]以外基本的に 100cm [[以上]]である[[身長]]を、
しばしば下2桁の数値だけで表すのも、
同じような現象なのでしょうか。
[252]
今の時期[[年齢]]計算は
(20)13 -
(19)78
のように[[世紀]]をまたぎがちなので、ちょっと自信がない(笑)
昔は暗算得意だったけどなぁ
昔の人ほどではないとしても、今の人も大きな数の扱いは苦労しているのではあるまいか。
[253]
[[改元]]のない[[西暦]]は計算しやすいといわれがちだけど、
共感できないのは難しいものと難しいものを比べられても、って思っちゃうからか。
[REFS[
[FIG(quote)[
[FIGCAPTION[
[258] [CITE[[[日本における紀年認識の比較史的考察]]]]
]FIGCAPTION]
>
歴史的日常という視点から、
年号を考えてみよう。
十七世紀イギリスの海軍大臣やイギリス学士院院長をつとめたサミエル・ピープスは、
イギリス海軍で資材購入の仕事をしていた頃の一六六二年、
取引上の必要から朝四時に起き、
ローソクの明かりの下で九九を覚え始めた、
と日記に記している。
現在、加減乗除が、ほとんどの人に出来るからと言って、
一〇〇年前・二〇〇年前もそうであったということは言えない。
むしろ、人類はこれまで数を数えることに得意であったわけではないのだ。
>
してみると、過去の人々の歴史感覚はどのようなものであったのだろうか。
この四則計算の能力という点から、
過去への時間感覚は、再度検討されねばならない。
アラビア数字導入以前においては、
位取り記数法が出来なかったわけだから、
四則計算は決して容易な技ではなかったのだ。
>
年号による紀年は、
二〇世紀以前に生きた多くの人々が数に不得手であったことを考慮に入れると、
三桁四桁の数字を操作する通年紀年法より、
最大二桁にしかならない年号の方がふさわしかったとは言えないだろうか。
この点では、長くて数十年にしかならない即位紀年も、同様に考えられる。
ことは干支も同様で、
個人の人生に照らしてみれば、
平均寿命が六〇歳に達していなかった時代においては、
一二年単位でものが把握できるこのシステムは、
かえって使いやすかったのではないか。
]FIG]
]REFS]
* 2桁年桁溢れ問題
[120]
[[計算機システム]]では初期の[[資源]]に乏しい時代からの慣習で[[年]]を
2桁10進整数で扱うことが多く、
とりわけ古いシステムでは一般的な作法でした。
この状態では99年の翌年に[[桁溢れ問題]]が生じます。
[121]
全世界的に社会問題となった[[西暦年]]の2桁表記の[[2000年問題]]のほか、
[[民国紀元]]や[[元号年]]の2桁から3桁への拡大や、
[[皇紀]]の2桁表記でも問題が起きることが知られています。
[126] [[日本語]]では検索しても情報が出てこないけど、
[[タイ暦]]2600年問題もありそう?
[127] [[日本]]で[[元号]]を使った[[日時形式]]を採用した[[計算機システム]]は、
[[年]]を2桁で保持していることが多いようです。これまでの[[日本の元号]]はすべて
2桁[[年]]以内で[[改元]]を迎えていますが、
[[将来の日時]]を扱う場合に問題になる可能性があります。
(予期できない将来に100年以上[[改元]]されない可能性や、
最新の[[元号]]によって[[将来の日時]]を扱う場合に、問題となります。)
[122]
桁溢れ自体の問題の他に、
00年や99年を「不明」や「なし」など特別な意味で扱っている場合の問題や、
[[世紀]]や[[閏年]]の判定の処理の問題も同時に取り上げられました。
[123]
[[2000年問題]]が大問題となったときに暫定的な (問題解決を先送りする)
措置がとられ、関心が薄まり忘れ去れれた後、 (暫定措置の種類により異なる別々のタイミングで)
再発症することも懸念されています。
** 2000年問題
[4]
2桁の西暦年を使ったシステムでは[TIME[2000年][year:2000]]以後を扱おうとすると[[桁溢れ]]しますし、
そうでなくても[[西暦]]が2桁または3桁の[[数字]]列で表されている場合にどう解釈するかが問題となります。
これが[DFN[2000年問題]]であり、[[桁溢れ問題]]の一種です。
[14] [TIME[2000年][year:2000]]は過ぎましたが、2桁で[[年]]が表わされる場面は残っており、
今後も無くなることはありませんから、これをどう解釈するか、何らかの判断は必要です。
-*-*-
[381] [[絶対時刻][ARPAインターネット初期の日時]]
[373]
[[FIPS 4]] ([TIME[西暦1968年][year:1968]])
は、2桁を原則としつつ、必要に応じて1桁に省略又は4桁に増やして表現できると定めていました。
[SEE[ [[FIPS 4]] ]]
[382]
[[RFC 1153]]
([TIME[西暦1990年][1990]])
は[[西暦2桁年号]]を使うと定めていました。
[387]
[[ODETTEの日時形式]]
([TIME[西暦1997年12月][1997-12]])
は[[西暦2桁年号]]だけど[TIME[西暦2000年][2000]]を超えても問題ないと主張していました。
[390]
[[XFDLの日時形式パターン]]
([TIME[西暦1998年9月][1998-08]])
処理は[[西暦2桁年号]]が基本動作として考えられていたようです。
-*-*-
[54]
[[2000年問題]]については、
20世紀半ば頃に技術的制約から2桁としたのはやむを得ないとしても、
20世紀末頃までこれを引きずっていたことは技術者の重大な瑕疵がある、
あるいは改修させなかった経営者の過失である、
と [[IT]] 事業者の責任を指摘することが多いようです。
(といっても技術的制約が盛んに広報されたことや社会に深く浸透していた[[情報システム]]の改修に必死だったためか、
責任の所在を指摘する以上に強く問責する動きはありませんでした。)
[56]
90年代に至っても2桁で設計した人々の無計画性を弁護するのは難しいですが、
それだけ[[西暦年]]を2桁で扱って当然という思考に当時の人々が染まっていただろうことは指摘しておかねばなりません。
[60]
[[Microsoft]] は [[Windows 3.11]]
の次の版から[[版番号]]に[[西暦年]]を採用し、
[[Windows 95]] としました。
その次は
[[Windows 98]]、
[[Windows 2000]] としました。
この時代の他のソフトウェアも、
他社も含めてこの流れに追随したところが多かったのですが、
90年代にはやはり2桁表記が用いられました。
[57]
[TIME[1995年][year:1995]]の [[JavaScript 1.0]]
の [CODE[getYear]] は、
[TIME[1999年][year:1999]]までを2桁で表し、
[TIME[2000年][year:2000]]以後を4桁で表すとしていました。 [SRC[>>55]]
[[JavaScript]] はまったく新しい[[プログラミング言語]]で、
[[後方互換性]]を考慮する必要性がなかったはずですが、
この奇怪な仕様を最初から採っていました。
[59]
同じく新しい[[プログラミング言語]]だった
[[Java]]
は、
[TIME[1996年1月23日][1996-01-23]]の
[[JDK 1.0]]
で[[西暦1900年暦]]の [CODE[getYear]] を採用し、
次の
[TIME[1997年2月19日][1997-02-19]]の
[[JDK 1.1]]
になって4桁年を別に用意しました。
[SRC[>>58]]
[274]
その後
[[JScript]]
は
[CODE[getYear]]
を2000年以後なら4桁を返すように変更しましたが、
[[Netscape]]
は2桁のままとしました。
そのため非互換問題が生じました。
[SEE[ [[getYear]] ]]
[62]
極めて重要な[[プログラミング言語]]である
[[C言語]]の [TIME[1999年][year:1999]]版は、
策定中は [[C9X]] と呼ばれ、
確定後は [[C99]] と呼ばれました。
[61]
[[2000年問題]]が社会的問題に発展したこの時期でも
2桁年号が平然と使われ続け、
それが製品や[[プログラミング言語]]の選択行為に影響を与えなかったことがわかります。
[152]
[TIME[西暦1999年][year:1999]]、
[[公益社団法人日本ローマ字会]]は新たな[[日本語ローマ字]]表記法を定めましたが、
[RUBY[99式][きゅうきゅうしき]]と命名されました [SRC[>>151]]。
[161]
世紀をまたぐ前後の時代に人気でよく使われていた
[CITE[KENT-WEB]]
の[[掲示板]]ソフトウェア [SRC[>>160]] は、
[[日付]]が[[西暦]]の4桁のものも2桁のものもありました。
動作例が2桁で表示されているもののソースコードを見ると
4桁になっているものもあり、
いずれかのタイミングで4桁化されたと思われますが、
実際の
[[Webサイト]]では[[令和]]時代になっても未だ古い
2桁のものが使われ続けられていることがあります。
[407] [CITE@ja[西暦2000年に向けた製品の対応状況 - 富士通製品の2000年対応状況]], [TIME[2020-12-08T04:07:20.000Z]], [TIME[2021-06-08T03:30:10.061Z]] <http://radioc.web.fc2.com/weblib/y2k/fujitsu/index2.html>
更新日の表記が「99」の次が「2000」。
[[西暦2000年問題]]の最前線の人々すら、
[[2桁年号]]は機器の問題で人間の問題ではないと認識していたことがわかる。
-*-*-
[256]
[[規格番号]]で[[2桁年号]]を使う[[標準化団体]]は少なくありませんでしたが、
20世紀末期に多くが4桁化されました。
[SEE[ [[規格番号]] ]]
-*-*-
[179]
[[20世紀]]末には、
[[2000年問題]]で[[計算機]]が暴走して云々という[[フィクション作品][架空の日時]]がいくつも作られました。
[[ノストラダムスの大予言]]と結びつける者もいました。
[[作品]]とまではいかなくても、
[[テレビ番組]]などで[[核戦争]]で[[人類滅亡]]のような予測が語られたり、
映像化されたりもしました。
;; 後に夏時刻騒動でもそのような創作がありました。
[SEE[ [[平成30年夏時刻騒動]] ]]
[REFS[
[FIG(quote)[
[FIGCAPTION[
[55] ([TIME[2019-04-21 15:32:09 +09:00]])
<https://web.archive.org/web/20040604235731/http://wp.netscape.com/eng/mozilla/3.0/handbook/javascript/ref_f-g.htm#804>
]FIGCAPTION]
> Implemented in
> Navigator 2.0
> Description
> The getYear method returns either a two-digit or four-digit year:
> For years prior to 2000, the value returned by getYear is the year less 1900. For example, if the year is 1976, the value returned is 76.
> For the years 2000 and beyond, the value returned by getYear is the four-digit year. For example, if the year is 2026, the value returned is 2026.
]FIG]
- [91] [CITE[コンピュータ西暦2000年問題について]] ([TIME[1999-11-01 14:48:10 +09:00]]) <https://www.kantei.go.jp/jp/pc2000/991101y2ktoha.html>
- [92] [CITE[コンピュータ2000年問題への対応について:金融監督庁]] ([TIME[2019-04-24 10:23:05 +09:00]]) <https://www.fsa.go.jp/p_fsa/2000/2000-j-menu.html>
- [90] [CITE[Legal probrems around the year 2000 computer programs]] ([TIME[1999-07-05 14:03:59 +09:00]]) <http://www.isc.meiji.ac.jp/~sumwel_h/doc/artcl/artcl1999-1.htm>
- [93] [CITE@ja[(2)コンピュータ西暦2000年問題への対応 : 平成12年版 通信白書]] ([TIME[2010-03-10 19:20:52 +09:00]]) <http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h12/html/C3332000.htm>
- [58] [CITE@ja[Date (Java Platform SE 8 )]] ([TIME[2019-04-21 15:29:11 +09:00]]) <https://docs.oracle.com/javase/jp/8/docs/api/java/util/Date.html#getYear-->
- [151] [CITE@ja[公益社団法人 日本ローマ字会]] ([TIME[2016-03-13 20:44:25 +09:00]]) <http://www.roomazi.org/99.html>
- [160] [CITE@ja[:: 電子掲示板 | [[KENT-WEB]] ::]] ([TIME[2019-08-15 18:14:36 +09:00]]) <http://www.kent-web.com/bbs/>
]REFS]
[414] [CITE[Year 2000: The Millennium Rollover]], [TIME[2021-06-08T03:55:23.000Z]], [TIME[2001-06-02T03:12:03.718Z]] <https://web.archive.org/web/20010602030904/http://www.unix-systems.org/version2/whatsnew/year2000.html>
[470] [CITE[日記のようなもの 11月分]], [[ogawa]],
11/30,
[TIME[2011-04-01T01:43:18.000Z]], [TIME[2023-01-01T08:15:38.062Z]] <http://www.geocities.ws/Colosseum/Court/8490/diary/day11.htm>
>なぜ、旧式のコンピュータが2000年の概念を持ちあわせなかったのだろうか?それは、黎明期の1960年代において、コンピュータの記憶装置(メモリ)が非常に高価だったためである。1960~70年代の人々にとって、日付の西暦の上二桁は「19」に決まっていた。この先、30年経ってもまだ「19」に決まっているため、19を格納するメモリをケチったのだ。これ以後、日付は上二桁を省略し、下二桁のみを扱うこととしたのである。
>
この問題に最初に気付いたのは、80年代のアメリカ国防総省であった。冷戦時代、米ソ両国が大量の核兵器を保有し、対峙していた際に、人為的ミスで核ミサイルが発射されるのを防ぐため、コンピュータを利用した「自動報復システム」を開発した。全世界のレーダー基地から入手した情報は瞬時に、米軍中央のメインフレームに集められ、そのなかにソ連の核ミサイル発射を意味する情報があれば、ただちに自軍の核ミサイルを発射する、といったシステムを構築した。
>
このメインフレームが「二桁型」だったのである。システムでは、各レーダー基地は日付を付して「異常なし」や「異常あり」のデータを中央のメインフレームに送信してくる。2000年になると「00/01/01」の日付を送ってくるので、中央のメインフレームはこれを「1900年1月1日」のデータと誤認する。すると「2000年1月1日当日は、全レーダー基地から連絡がない」と判断され、全世界の米軍基地がいっせいに破壊された、と解釈できる。メインフレームはそのまま報復攻撃を「自動的」に司令し、全面核戦争が始まってしまうかもしれない。
>
このようなシュミレーションが成り立つと予想されたため、現在ではメインフレームは修正された。このような事態は、軍需産業のみならず日常生活にも起り得る。
[471]
2000年問題で核戦争になるみたいな話はよくいわれましたけど、その詳しいメカニズムまではあまり覚えがなかったので。
当時はこういう説明がもっとあったのかもしれませんけど、今となっては当時どんなことを言われていたのか探すのが難しく。
(ソースが書いてないですし、この説明がどれくらい一般的な説だったのかもわかりませんが。)
*** 2000年問題は何もなかった説 (デマ)
[SEE[ [[日時制度デマ]] ]]
[185]
[[2000年問題]]は何もなかったとする[[歴史修正主義]]が蔓延っています。
- [186] 大規模なトラブルに至らなかったのは確かです。
- [187] 小さなトラブルは無数に発生しました。
[TIME[2000年][year:2000]]になった瞬間だけでなく、数年前から数年後まで発症していました。
不注意な[[プログラマー]]なら現在でも発症させる可能性があります。
- [188] トラブルが回避できたのは、多額の費用と沢山の人員を投入して影響を調査し急ピッチで修正を進めたからです。
何もなかったのではなく、何か起きるのを寸前で回避したのです。
- [189] 暫定的な対処をしたシステムでは数年後から数十年後に問題が先送りされただけで、
未だ根本的な解決がなされていないとみられています。
今後トラブルが起きる可能性はまだ残っています (が、
起きたとしても[[2000年問題]]とは報道されないかもしれません)。
[190]
ただの昔話の思い違いのレベルならまだいいのですが、
「[[2000年問題]]は何もなかったのだから、[VAR[○○]]をしても何もないはずだ」
のような危険思想を持つ人も出ているようです。
前提条件が正しくないので、そのような主張は意味を持ちません。
[REFS[
[FIG(quote)[
[FIGCAPTION[
[181] [CITE@ja[NTPサーバの一部が2000年に逆戻りしてしまう事態が発生 - GIGAZINE]]
(2012年11月21日 12時00分 [TIME[2019-11-07 20:24:24 +09:00]])
<https://gigazine.net/news/20121121-computer-clocks-back-to-2000/>
]FIGCAPTION]
> 2000年問題は実際には杞憂に終わりました
]FIG]
[182]
一般人の認識はまあこんなものだよな。
[[2000年問題]]で[[核戦争]]が起きるとかは確かに杞憂だったけど...
[FIG(quote)[
[FIGCAPTION[
[183] [CITE@ja[サマータイム導入について | 生活・身近な話題 | [[発言小町]]]], [TIME[2019-11-12 20:29:36 +09:00]] <https://komachi.yomiuri.co.jp/t/2018/0807/858427.htm>
]FIGCAPTION]
>
賛成ですね
>
ブスドス
>2018年8月30日 17:21
>
[SNIP[]]
>
昔、2000年問題ってのがあってね。
大騒ぎしたけど結局何もなかった。
時計合わせなんてものはY2K対応で経験済みだし、和暦を併用する日本にとっては重大な齟齬なんて発生しないでしょうよ。
]FIG]
[184] [[2000年問題]]と[[時刻同期]]に何の関係があるのか謎だし ([[夏時刻]]には関係ある)、
[[和暦]]と[[夏時刻]]に何の関係があるのかも謎だ ([[2000年問題]]には関係あるともいえる)。
[[2000年問題]]で何もなかったとしても、
[[夏時刻]]で何かあるかどうかと何ら相関はない。
このように[[情報システム]]にも[[日時制度]]にも十分な理解を持っていない素人が、
狭い想像範囲で結論を出して偉そうに主張するのはいかがなものか。
誰にでも得意不得意はあるのだから、無知は罪ではない。
しかし知らない分野のことを決めつけて講釈を垂れるのは社会にとって有害である。
]REFS]
*** 症状
[201]
[TIME[西暦2000年][year:2000]]が
[TIME[西暦1900年][year:1900]]と誤解されるのが最もよく知られた症状ですが、
それだけではありません。
[232]
[[90年代]]の未対処の一般的な[[パソコン]]の [[BIOS]]
は、
[TIME[2000年1月1日][2000-01-01]]になると、
[TIME[1980年1月1日][1980-01-01]]に戻りました。
これは [[IBM PC]] が開発された年でした。
[SRC[>>200]]
[405] [CITE@ja[当社主要ハードウェア/OSの西暦2000年対応状況 (通信機器) - 富士通製品の2000年対応状況]], [TIME[2020-12-08T04:07:20.000Z]], [TIME[2021-06-08T03:25:25.279Z]] <http://radioc.web.fc2.com/weblib/y2k/fujitsu/taiouj01.html>
>ジョブ日付で2000年を平成0年と認識します。
[461] [CITE[ダウンロード:JustDiver2 2000年問題対応アップデートモジュール]], [TIME[2022-08-30T15:08:40.000Z]] <https://www.justsystems.com/jp/download/support/justdiver/2.0win1a.html>
>「JustDiver2」で自動的に巡回したページを「Date」でソートすると、「00(2000)」年のデータが正しく最新の位置へ並ばず、最も古いデータの位置に並びます。
[465] [CITE[1B/V3]], [TIME[2022-10-30T05:48:10.000Z]], [TIME[2002-11-04T00:25:09.805Z]] <https://web.archive.org/web/20021104002300/http://www.personal-media.co.jp/software/2000/1bv3.html>
[466] [CITE[アイリス1.0]], [TIME[2022-10-30T05:48:51.000Z]], [TIME[2002-11-04T00:32:33.734Z]] <https://web.archive.org/web/20021104002951/http://www.personal-media.co.jp/software/2000/iris1.html>
[468] [CITE[1B/V1]], [TIME[2022-10-30T05:50:04.000Z]], [TIME[2002-11-04T00:09:20.603Z]] <https://web.archive.org/web/20021104000531/http://www.personal-media.co.jp/software/2000/1bv1.html>
[467] [CITE[1B/V2]], [TIME[2022-10-30T05:49:22.000Z]], [TIME[2002-11-04T00:20:14.151Z]] <https://web.archive.org/web/20021104001707/http://www.personal-media.co.jp/software/2000/1bv2.html>
[469] [CITE[BrainPad TiPO PLUS]], [TIME[2022-10-30T05:51:00.000Z]], [TIME[2002-11-04T00:12:08.791Z]] <https://web.archive.org/web/20021104000731/http://www.personal-media.co.jp/software/2000/tipo.html>
**** 1900年代しか入力できない
[267] [CITE@ja[息子がファミコンミニで聖闘士星矢を始めたが生年月日入力画面が「19××」となっているため入れられない「2000年問題だ!」 - Togetter]], [TIME[2023-04-18T01:22:21.000Z]] <https://togetter.com/li/2127288>
**** 9 の次が :
[415] >>24
[403] [CITE@ja[FM WORLD:パソコン(シリーズ毎・OS毎)の西暦2000年対応状況]], [TIME[2020-12-08T04:08:19.000Z]], [TIME[2021-06-08T03:17:53.090Z]] <http://radioc.web.fc2.com/weblib/y2k/fujitsu/fm2000/taiou.html>
[411]
[CITE@ja[製品別の対応方法 - 富士通製品の2000年対応状況]], [TIME[2020-12-08T04:07:19.000Z]], [TIME[2021-06-08T03:39:20.774Z]] <http://radioc.web.fc2.com/weblib/y2k/fujitsu/hb2000-10.html>
[412] [CITE@ja[製品単位の制限事項(ASP E90系) - 富士通製品の2000年対応状況]], [TIME[2020-12-08T04:07:17.000Z]], [TIME[2021-06-08T03:42:36.167Z]] <http://radioc.web.fc2.com/weblib/y2k/fujitsu/ASPE90-1.html>
>
WWWサーバでディレクトリインデックスを表示した時の日時が異常となります.
例)2003年12月2日 →"19:3/12/02"
**** 閏年
[406]
[CITE@ja[当社主要ハードウェア/OSの西暦2000年対応状況 (通信機器) - 富士通製品の2000年対応状況]], [TIME[2020-12-08T04:07:20.000Z]], [TIME[2021-06-08T03:25:25.279Z]] <http://radioc.web.fc2.com/weblib/y2k/fujitsu/taiouj01.html>
[408] [CITE@ja[OSIV/XSP製品における対処方法 (製品名:D〜L) - 富士通製品の2000年対応状況]], [TIME[2020-12-08T04:07:16.000Z]], [TIME[2021-06-08T03:35:37.582Z]] <http://radioc.web.fc2.com/weblib/y2k/fujitsu/a0011502.html>
>
2000年において2000年2月29日以降1日ずれて表示されます.
なお,2000年12月31日は2000年13月1日と表示されます.
[409] [CITE@ja[OSIV/XSP製品における対処方法 (製品名:M〜Zおよび日本語) - 富士通製品の2000年対応状況]], [TIME[2020-12-08T04:07:16.000Z]], [TIME[2021-06-08T03:36:26.173Z]] <http://radioc.web.fc2.com/weblib/y2k/fujitsu/a0011503.html>
>対象ボリュームのファイルの作成日付と満了日付で,2000年2月29日〜 2000年12月31日の日付が1日ずれて表示されます.
なお,2000年12月31日は,2000年12月32日となります.
**** 修正による混乱
[FIG(quote)[
[FIGCAPTION[
[452]
[CITE[巻頭言 2000~]], [TIME[2022-06-20T03:47:17.000Z]], [TIME[2004-02-18T16:29:21.123Z]] <https://web.archive.org/web/20040218162913/http://park1.wakwak.com/~y-nagano/200001.html#20000111>
]FIGCAPTION]
>
[BOX(center)[
[B[2000年1月11日(火)]]
]BOX]
> 2000年になって10日あまりが経過しました。Y2K問題とは無縁だったかというとそうでもなくて、実は「[B[JavaScript バイオリズム]]」がMSIEでは動作しなくなっています。西暦の下2桁を返すJavaScriptの古いメソッド[B[getYear]]を使用しているのが原因なのですが、Netscape 4.x ブラウザでは2000年以降も正しく動作するようにブラウザ側に修正が加えられた[WEAK[(西暦から1900を引いた年を返すように仕様変更)]]のに対し、Microsoftは考え方の相違で4桁の西暦を返す新しいメソッド[B[getFullYear]]を使うように仕様変更[WEAK[(従来のgetYearは2000年以降は4桁の年を返す仕様。よって2000年を越えると+1900してしまう。)]]してしまったためです。両社の対応のどちらも一長一短あるので一概にMicrosoftが悪いと決め付けることはできません。すべては2000年以降のことを考えてプログラミングしなかった3年前の私が悪いのです。
]FIG]
[451] [CITE[変更点]], [TIME[2014-05-27T12:28:08.000Z]], [TIME[2022-06-20T02:41:59.859Z]] <http://www.paphio.jp/webcal/change.html>
>■Version 0.12 -> Version 0.12aの変更点 (2000.1.14)
>
- バグ修正
-- Java Scriptの時刻表示でブラウザによっては3900年と表示される問題を修正。
--[SNIP[]]
*** ISO/IEC 16509
[328]
[DFN[IEEE 2000.1-1998]]
[DFN[[CITE[IEEE Standard for Information Technology: Standard for Year 2000 Terminology]]]]
は、
[TIME[1998-06-25]]に承認され、
[TIME[1998-10-14]]に出版された
[[IEEE]]
の[[標準]]でした。 [SRC[>>335, >>208]]
[336]
[[ANSI]]
規格として
[DFN[ANSI/IEEE 2000.1-1998]]
とも呼ばれています。
[SRC[>>208]]
[337] [[IEEE 2000.1-1999]] および [[IEEE 16509-1999]] により発展的廃止されました。
[SRC[>>335]]
-*-*-
[230]
[DFN[ISO/IEC 16509:1999]]
[DFN[[CITE[Information technology — Year 2000 terminology]]]]
[WEAK[([[仏][仏語]]題: [DFN[[CITE[Technologie de l'information — Terminologie de l'an 2000]]]])]]
は、
[TIME[1999-10-15]]に出版された
[[ISO/IEC]]
の[[国際標準]]でした。
[SRC[>>208]]
[231]
本項執筆時点 ([TIME[令和3(2021)年][year:2021]]) で
[[ISO/IEC 16509:1999]]
は未だ有効で、
[[ISO]] の [[Webサイト]]で無料配布されています [SRC[>>208]]。
[338]
[[IEEE]] [[標準]]としては
[DFN[IEEE 16509-1999]]
[DFN[[CITE[ISO/IEC 16509: 1999 (IEEE Std 2000.1-1998) Year 2000 Terminology]]]]
として[TIME[1999-10-07]]に出版され、
[TIME[2005-01-25]]に廃止されました。
[SRC[>>339]]
;; [340] 本家よりも早いんですがそれはw
[330]
[[ISO/IEC 16509:1999]]
は
[[IEEE Std 2000.1-1998]]
に編集上の変更を加えたものであるとされ、
[[ISO/IEC 16509:1999]]
は
[[IEEE Std 2000.1-1998]]
かつ
[[ISO/IEC 16509:1999]]
でもあるという体裁の[[仕様書]]になっていて、
変更箇所には[[傍線]]が付されています
[WEAK[(変更前にどう書いてあったかは示されていません)]]。
[SRC[>>208]]
-*-*-
[332]
[DFN[IEEE 2000.1-1999]]
[DFN[[CITE[IEEE Standard for Information Technology: Standard for Year 2000 Terminology]]]]
は、
[[IEEE Std 2000.1-1998]]
の改訂版で、
[TIME[1999-06-26]]に承認され、
[TIME[1999-10-05]]に出版されました。
[SRC[>>331]]
[333] ほぼ同時期に出版された
[[ISO/IEC 16509:1999]]
と同内容ではないかと思われます。
それなら同時に完全に同内容で出せばよさそうなものですがw
[334] [TIME[2005-01-25]]に廃止されました。 [SRC[>>331]]
-*-*-
[341]
[[ISO/IEC 16509:1999]]
は、
[DFN[Year 2000 compliant]]
なる概念を規定していました。
それによると、
[[Year 2000 compliant]]
な[[技術]]は、
- a) 当該[[技術]]は、関連付けられた[[ドキュメンテーション]]に従って用いられる場合で、かつ、
- b) 併用される他のすべての[[技術]]が当該[[技術]]に対して適切に[[日付]]データを交換する場合
... であることを前提に、
[[20世紀]]と[[21世紀]]の中および間の[[日付]]データを正しく処理しなければなりません。
これは、
[[妥当な日付間隔]]内にある[[日付]]データが一貫して予測可能で正確に処理されなければならないことを求めています。
[SRC[>>208]]
[342]
[DFN[[RUBYB[[RUBY[妥][だ]][RUBY[当][とう]]な[RUBY[日][ひ]][RUBY[付][づけ]][RUBY[間][かん]][RUBY[隔][かく]]][valid date interval]]]]
([DFN[compliance date range]])
とは、
[[日付]]の[RUBYB[範囲][range]]で表現される[[時刻]]の[RUBYB[期間][period]]であって、
[[システム]]が正しい[[日付]]データ処理を提供できる範囲をいいます。
[[システム要素]]その他の[RUBYB[因子][factor]]は、
この範囲を制限したり、
複数の範囲を設けたりしても構いません。
[SRC[>>208]]
[EG[
[343] 例えば、
1970年から2038年まで運用可能な[[システム]]上で、
それより広い1970年から2069年までの範囲の[[日付]]データを正しく処理できる[[アプリケーション]]があるかもしれません。
[SRC[>>208]]
]EG]
[344]
[DFN[time horizon to failure]]
([DFN[event horizon]] = [[事象地平線]])
は、
特定の[[日付]]から、それを超えると[[システム要素]]が一貫して、予測可能に、または正確に処理することに失敗するようになるような[RUBYB[時点][point in time]]までの[[時間]]です。
[SRC[>>208]]
[345]
以後12ヶ月までの[[日付]]を処理する[[アプリケーション]]は、
[TIME[1999-12-31]]より後の[[日付]]を処理できないとするなら、
[TIME[1999-01-01]]かそれ以後に失敗するかもしれません。
従って[TIME[1998-09-01]]におけるこの[[アプリケーション]]の
[[time horizon to failure]]
は、4ヶ月です。
[SRC[>>208]]
]EG]
[346]
[[システム要素]]それぞれが異なる[[地平線]]を持つかもしれませんから、
[[システム]]全体の[[地平線]]は、一番速く失敗する[[システム要素]]の[[地平線]]となります。
[SRC[>>208]]
[347]
[[2000年問題]]対策の過程を表す語として、
[DFN[Year 2000 life cycle]]
も定義していました。
[SRC[>>208]]
[358] 附属書Aで [[leap year]] も定義していました。
[369]
[[ISO/IEC 16509:1999]]
は[[参考文献]]として[[日時形式]]を定める次の[[規格]]を参照していました。
[SRC[>>208]]
参照するだけで言及はなく、意図は不明です。
- [370] [[ANSI X3.30:1998]]
- [371] [[FIPS PUB 4-1]]
- [372] [[ISO 8601:1988]]
-*-*-
[348]
[[ISO/IEC 16509:1999]]
は、
[[2000年問題]]対策をいくつか例示していました。
[SRC[>>208]]
- [349] bridge - [[システム要素]]間で違いを吸収。例えば2桁年号と4桁年号を変換。
- [350] elimination - 不要になったシステムを退役。
- [351] encoding (encryption, offset counter format, integer date format) -
現在の欄長を維持したまま追加情報を保持。
例えば未使用ビットで[[世紀]]を表したり、
[[ASCII数字]]から[[バイナリー]]に解釈変更したり、
[[十進数]]から[[十六進数]]に改めたり。
- [352] field expansion - 欄長を2桁から4桁に拡張。
- [353] replacement - 旧システムを別システム・新システムに置換。
- [354] windowing (logic fix) - 2桁年号をある100年幅の中で解釈するロジックの追加。
-- [355] fixed windowing - 固定の100年窓で解釈する。
年の範囲で記述したり (例えば 1950-2049)、
[DFN[pivot year]] で記述したり (例えば 1950 (= 50-90 を +1900、00-49 を +2000))。
-- [356] movable window - 100年窓を利用者指定又は installation 指定による。
-- [357] sliding window - 100年窓を現在日付による。
slider と呼ぶ値を使って記述することがある。
(例えば slider = -40 なら、 pivot year は現在年 - 40 となる。)
-*-*-
[359]
special dates
として、
特殊な意味を与えられている[[日付]]、例えば 000000 や 999999 のような
reserved dates
と、
[[システム要素]]が正しく動くか試験するための test dates
を示していました。
test dates
の具体例として、次のものが挙げられていました。
[SRC[>>208]]
- [360] [TIME[1999-01-01]] - 9が続く年を特殊扱いするシステムが影響を受ける最初の日
- [361] [TIME[1999-12-31]] - 2000年の前の最後の日
- [362] [TIME[1999-09-09]] - 日以外の目的に使われるかもしれない値の日
- [363] [TIME[2000-01-01]] - 1999年[[以下]]しか扱えないシステムが影響を受ける最初の日、
2桁で「00」年となる最初の日
- [364] [TIME[2000-02-29]] - 1999年の後の最初の[[閏日]]
- [365] [TIME[2000-03-01]] - 2000年[[閏日]]の後の最初の日
- [366] [TIME[2000-12-31]] - 2000年の最後の日
- [367] [TIME[2001-01-01]] - 2001年の最初の日
- [368] [TIME[2004-02-29]] - 2000年の後の最初の[[閏日]]
[REFS[
- [335] [CITE[[[IEEE 2000.1-1998]] - IEEE Standard for Information Technology: Standard for Year 2000 Terminology]], [TIME[2021-01-16T03:16:54.000Z]], [TIME[2021-01-16T04:18:50.908Z]] <https://standards.ieee.org/standard/2000_1-1998.html>
- [208] [CITE[Publicly Available Standards]], [[ISO (International Organization for Standardization)]], [TIME[2021-01-16T03:57:20.000Z]] <https://standards.iso.org/ittf/PubliclyAvailableStandards/c031005_ISO_IEC_16509_1999(E).zip>
- [339] [CITE[[[IEEE 16509-1999]] - ISO/IEC 16509: 1999 (IEEE Std 2000.1-1998) Year 2000 Terminology]], [TIME[2021-01-16T03:58:06.000Z]], [TIME[2021-01-16T04:23:26.460Z]] <https://standards.ieee.org/standard/16509-1999.html>
- [331] [CITE[[[IEEE 2000.1-1999]] - IEEE Standard for Information Technology: Standard for Year 2000 Terminology]], [TIME[2021-01-16T03:54:36.000Z]], [TIME[2021-01-16T04:11:23.619Z]] <https://standards.ieee.org/standard/2000_1-1999.html>
]REFS]
*** 西暦2000年問題の影響
[483]
[[科学暦]],
大宝建元は干支1周によるとする説 [SEE[ [[日本古代の日時]] ]]
** 民国100年問題
[112] [DFN[民国100年問題]]は、
[[民国紀元]]の2桁[[年号]]の[[日時形式]]を扱うシステムに関する[[日時桁溢れ問題]]でした。
[115] [[特許番号]]は固定長に見えてそうではなく、
3桁に拡張されたようです。
[REFS[
- [113] [CITE@ja[民国100年問題 - Wikipedia]]
([TIME[2018-04-09 23:49:25 +09:00]])
<https://ja.wikipedia.org/wiki/%E6%B0%91%E5%9B%BD100%E5%B9%B4%E5%95%8F%E9%A1%8C>
]REFS]
[447] [CITE@zh-Hant-tw[公元2000年資訊錯亂危機]], [TIME[2022-05-28T22:17:40.000Z]] <https://www.tfrin.gov.tw/News_Content.aspx?n=307&s=29011>
[448] [[西暦2000年問題]]当時の紹介記事。西暦4桁化により民国100年問題も同時解決できると述べている。
[473] [CITE@en-US[Taiwan’s Y1C problem | Pinyin News]], [TIME[2023-01-01T10:11:51.000Z]] <http://pinyin.info/news/2006/taiwans-y1c-problem/>
[474] [CITE@zh[民國百年蟲 - 维基百科,自由的百科全书]], [TIME[2022-12-18T10:10:47.000Z]], [TIME[2023-01-01T10:12:02.859Z]] <https://zh.wikipedia.org/wiki/%E6%B0%91%E5%9C%8B%E7%99%BE%E5%B9%B4%E8%9F%B2>
[475] [CITE@ja[民国100年問題 - Wikipedia]], [TIME[2022-12-25T16:08:57.000Z]], [TIME[2023-01-01T10:12:10.935Z]] <https://ja.wikipedia.org/wiki/%E6%B0%91%E5%9B%BD100%E5%B9%B4%E5%95%8F%E9%A1%8C>
[476] [CITE@en[Year 2011 problem - Wikipedia]], [TIME[2022-12-29T19:06:00.000Z]], [TIME[2023-01-01T10:12:19.204Z]] <https://en.wikipedia.org/wiki/Year_2011_problem>
** 昭和100年問題
[106]
[DFN[昭和100年問題]]は、
[[昭和]]の2桁[[年号]]の[[日時形式]]を扱うシステムに関する[[日時桁溢れ問題]]です。
[420]
「[[日時]]の[[内部表現]]で[[平成改元]]以後も[[昭和]]の年数を使うこと」
と
「昭和の年数を2桁整数で扱うシステムで昭和100年を迎えること」
は、
まったく別個の問題です。
後者は[[西暦2000年問題]]と同種の問題ですが、
前者はシステム設計上の合理的な選択肢の1つでこれといった問題は知られていません。
[421]
[[昭和100年問題]]を扱う記事や[[SNS]]への投稿を見ると[[情報処理]]実務の専門家でもこの2つの区別がついていない人が意外に多い
[SRC[>>419]]。
;;
[422]
ついでに、この話題になると[[和暦]]を廃止して[[西暦]]にしろとか技術と関係ない[[政治的主張を始める人][元号廃止論]]も必ず何人か湧いてきます
[SRC[>>419]]。
システム内部の日時表現の選択と、
社会的な[[紀年法]]の約束は、判断基準が異なる独立した話で、
混同してはいけません。
社会的に[[和暦]]が消滅しても、
[[昭和100年問題]]が解決するわけでも、
[[西暦]]が最も処理しやすい内部表現になるわけでもないのですが。。。
(それが分からないなら技術的に知識不足ですし、
分かっているなら政治のダシに技術を使っているので、
どちらにしてもダメですね。)
[423]
前者、つまり[[日時]]の内部表現は、例えば
- システム内部で[[日時]]を [[Unix time]] で表し、必要に応じて[[西暦年]]を計算して表示する
- システム内部で[[日時]]を [[Unix time]] で表し、必要に応じて[[昭和]]、
[[平成]]、[[令和]]などの[[年]]を計算して表示する
... といったシステムがごくごく一般的に存在するのと同じように、
- システム内部で[[年]]を昭和元年を1とする[[整数]]で表し、必要に応じて[[西暦年]]を計算して表示する
- システム内部で[[年]]を昭和元年を1とする[[整数]]で表し、必要に応じて[[昭和]]、
[[平成]]、[[令和]]などの[[年]]を計算して表示する
... といったシステムも存在し得ますし、実際に存在しています。
[[Unix time]] も昭和元年を1とする[[整数]]も、単位と[[基準点][元期]]が違うだけで、
処理内容は本質的に変わりありません。どちらの設計を採用するかは、
目的に応じてどちらが都合が良いか、いわば設計センス次第です。
[424]
昭和元年を1とすることだけを理由にその設計を批判するのだとしたら、
その批判のほうがむしろセンスがないと言わざるを得ません。
[REFS[
- [107] [CITE@ja[昭和100年問題 - Wikipedia]]
([TIME[2018-04-19 01:04:51 +09:00]])
<https://ja.wikipedia.org/wiki/%E6%98%AD%E5%92%8C100%E5%B9%B4%E5%95%8F%E9%A1%8C>
- [108] [CITE@ja-jp[昭和100年問題 ‐ 通信用語の基礎知識]]
([TIME[2018-04-23 23:55:55 +09:00]])
<http://www.wdic.org/w/TECH/%E6%98%AD%E5%92%8C100%E5%B9%B4%E5%95%8F%E9%A1%8C>
[FIG(quote)[
[FIGCAPTION[
[109] [CITE[「「2025年問題」に備えていますか?」 | 株式会社オージス総研]]
([TIME[2017-10-25 09:54:44 +09:00]])
<http://www.ogis-ri.co.jp/rad/webmaga/rwm20130802.html>
]FIGCAPTION]
> 「2025年問題」をご存じですか? 実は「2025年問題」と言われているものには、いくつかありまして、2025年は昭和元年からの換算ではちょうど100年となり一部のコンピュータシステムで問題が発生する件を指すこともあれば、団塊の世代が75歳以上に達し、厚生労働省の社会保障給付総額が144兆円になってしまう問題を指すこともあります。
]FIG]
- [110] [CITE@ja[「残り6年」…新元号対応よりもヤバイかもしれない「昭和100年問題」というのがあるらしい…「絶望やんけ」 - Togetter]]
([TIME[2019-01-16 14:14:16 +09:00]])
<https://togetter.com/li/1308910>
- [111] [CITE@ja[改元対応よりも大変? IT業界でうわさの「昭和100年問題」とは - ITmedia NEWS]]
([TIME[2019-03-20 12:51:07 +09:00]])
<https://www.itmedia.co.jp/news/articles/1903/06/news020.html>
[413] [CITE@ja[パソコン・ソフト:詳細資料A - リコーの西暦2000年問題対応について]], [TIME[2020-12-08T04:07:45.000Z]], [TIME[2021-06-08T03:50:56.160Z]] <http://radioc.web.fc2.com/weblib/y2k/ricoh/a.htm>
>
Q6.データのフォーマットを変更できないので、既に入力されている日付データを簡単に西暦(下2桁)運用から和暦運用への変更する方法は有りますか。
>
A6.C命令を利用し、西暦を和暦に変更できます。
日付列—88=日付列
例.98(西暦)—88=10(和暦)
その他、SHU命令やUPD命令を利用して、西暦を和暦に変更できます。
- [419] [CITE@ja[2025年に起こる事が懸念される日本特有の『昭和100年問題』というものがあるらしい「“延長昭和”という暦を採用しているシステムが火を噴く」 - Togetter]], [TIME[2021-10-14T02:00:58.000Z]] <https://togetter.com/li/1788182>
]REFS]
[441] [CITE@ja[オヤジ戦隊ダジャレンジャー@オンラインサロンやって〼色々開発ちうさんはTwitterを使っています 「昨夜汎用機系の友人から電話があり、彼の担当現場では未だに #昭和100年問題 を解決できず「現場にも会社にも見切りをつけた」と言っていた。 ワシが前職を退職したのも、32bitコンパイラのShiftJISでネット対応の無理ゲーを迫る #2038年問題 を理解しない会社だったからだ。 https://t.co/ikgRr3FOti」 / Twitter]], [TIME[2022-02-13T02:50:18.000Z]], [TIME[2022-02-13T03:20:16.762Z]] <https://twitter.com/dajya_ranger_/status/1490264002131288064>
-[445] [CITE@ja[【[[ムー]]2025年の危機】コンピューターに隠された亡霊「昭和100年問題」の真実 | GetNavi web ゲットナビ]],
[[嵩夜ゆう]],
2019/11/2 20:15,
[TIME[2022-05-26T02:37:43.000Z]] <https://getnavi.jp/entertainment/440216/>
--「ムー2019年11月号より抜粋」
[446] 内容はめちゃくちゃ (まあ[CITE[ムー]]なんで...)
** 2700年問題
[114] [DFN[2700年問題]]は、
[[皇紀]]の2桁[[年号]]の[[日時形式]]を扱うシステムに関する[[日時桁溢れ問題]]です。
[REFS[
- [116] [CITE@ja-jp[2040年問題 (皇紀) ‐ 通信用語の基礎知識]]
([TIME[2018-04-24 00:01:18 +09:00]])
<http://www.wdic.org/w/TECH/2040%E5%B9%B4%E5%95%8F%E9%A1%8C%20%28%E7%9A%87%E7%B4%80%29>
- [117] [CITE@ja[年問題 - Wikipedia]]
([TIME[2018-04-19 01:05:26 +09:00]])
<https://ja.wikipedia.org/wiki/%E5%B9%B4%E5%95%8F%E9%A1%8C>
[FIG(quote)[
[FIGCAPTION[
[118] [CITE@ja[神武天皇即位紀元 - Wikipedia]]
([TIME[2018-04-19 01:04:17 +09:00]])
<https://ja.wikipedia.org/wiki/%E7%A5%9E%E6%AD%A6%E5%A4%A9%E7%9A%87%E5%8D%B3%E4%BD%8D%E7%B4%80%E5%85%83#%E5%AE%89%E7%94%B0%E7%94%9F%E5%91%BD%E4%BF%9D%E9%99%BA>
]FIGCAPTION]
> 安田生命保険が1970年(昭和45年)ごろにコンピュータによる個人情報管理のシステムを構築したとき、作業に携わった技術者たちは、1900年(明治33年)を「00年」として年を処理すると、顧客の生年月日など1899年(明治32年)以前の情報の処理に不都合が生じることに気づき、あえて西暦の使用を避けて、皇紀2600年に当たる1940年(昭和15年)を「00年」として用い、さらに負の数を1840年(天保11年)までの100年分を処理することのできるパック10進数を採用することにした。
]FIG]
;;
[195] [[負]]もあるので、これは[[皇紀2600年暦]]。
]REFS]
** 平成100年問題
[119] [CITE[Wikipedia]] などは[DFN[平成100年問題]]を指摘しています
[SRC[>>117]]。実在するかは不明です。
* 2000年のその後
[64]
[TIME[2000年][year:2000]]の[[ミレニアム]]ブーム、
「00年」のような表記の違和感、
[[2000年問題]]の反省といった理由からか、
[TIME[2000年][year:2000]]以後[[西暦]]は4桁表記が増加しました。
[65] 例えば、
[CITE[Windows 2000]]、
[[2000年体育館]]、
[CITE[GLAY DOME TOUR 2001-2002 "ONE LOVE"]]
[WEAK[([[GLAY]] のイベント名は '99 まで2桁、 1999 だけ混在、 2000 以後4桁)]]、
[[e-Japan 重点計画-2004]]
といった具合。
[99]
[[公演]]名を4桁化した[[アーティスト]]は他にも多かったと思われ、
例えば [[B'z]] も「'99」の次から「2000」としました [SRC[>>94]]。
[[テレビ朝日]]の番組
[CITE[ミュージックステーションスーパーライブ]]
も「99」の次から「2000」としました [SRC[>>98]]。
[[東京ゲームショウ]]は、
「東京ゲームショウ'99秋」
の次が
「東京ゲームショウ2000春」
(キャッチフレーズ
「東京ゲームショウは2000年バージョンへと進化する」)
でした [SRC[>>251]]。
[96]
[TIME[1999年][year:1999]]に[[郷ひろみ]]は楽曲
[CITE[GOLDFINGER [RUBY['99][ナインティナイン]]][GOLDFINGER '99]]
を公開しました。 [SRC[>>95]]
その後
[TIME[2001年][year:2001]]に[[リミックス]]として
[CITE[GOLDFINGER 2001]] が [SRC[>>95]]、
[TIME[2009年][year:2009]]に10周年記念として
[CITE[Get Real Love 〜GOLDFINGER[RUBY['009][ダブル・オー・ナイン]]][Get Real Love 〜GOLDFINGER'009]]
が公開されました [SRC[>>97]]。
[REFS[
- [94] [CITE@ja[LIVE-GYM - Wikipedia]] ([TIME[2019-05-15 16:22:43 +09:00]]) <https://ja.wikipedia.org/wiki/LIVE-GYM#B'z%E3%81%AE%E5%85%AC%E6%BC%94%E4%B8%80%E8%A6%A7>
- [98] [CITE@ja[[[ミュージックステーションスーパーライブ]] - Wikipedia]] ([TIME[2019-05-11 09:50:13 +09:00]]) <https://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%A5%E3%83%BC%E3%82%B8%E3%83%83%E3%82%AF%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%96#%E5%90%84%E5%9B%9E%E3%81%AE%E6%94%BE%E9%80%81%E6%A6%82%E8%A6%81>
- [95] [CITE@ja[[[GOLDFINGER '99]] - Wikipedia]] ([TIME[2019-05-02 09:28:35 +09:00]]) <https://ja.wikipedia.org/wiki/GOLDFINGER_%2799>
- [97] [CITE@ja[[[Get Real Love 〜GOLDFINGER'009]] - Wikipedia]] ([TIME[2019-04-30 22:01:13 +09:00]]) <https://ja.wikipedia.org/wiki/Get_Real_Love_%E3%80%9CGOLDFINGER%27009>
- [251] [CITE@ja[[[東京ゲームショウ]] - Wikipedia]], [TIME[2020-01-18 18:00:27 +09:00]] <https://ja.wikipedia.org/wiki/%E6%9D%B1%E4%BA%AC%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%B7%E3%83%A7%E3%82%A6>
]REFS]
-*-*-
[66]
しかし4桁に統一されたかといえばそうでもなく、
2桁表記も探せばいくらでもみつかります。
[73]
[[クレジットカード]]の有効期限は一貫して「MM/YY」や「MM/'YY」と印字されています。
有効期限を入力させる[[フォーム]]は、