/
854.txt
796 lines (658 loc) · 21.8 KB
/
854.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
[90]
[[LDML]] は[[週]]のバリエーションの記述の方法を定めています。
[[CLDR]] は [[LDML]] を使って各[[ロケール]]における[[週]]の定義を提供しています。
* 仕様書
[REFS[
- [62] [[LDML]]
--[63]
[CITE[Unicode Locale Data Markup Language ([[LDML]]) Part 4: Dates]], [TIME[2022-04-06T14:24:49.000Z]], [TIME[2022-07-12T13:33:09.486Z]] <https://unicode.org/reports/tr35/tr35-dates.html#Overview_Dates_Element_Supplemental>
--
[64]
[CITE[Unicode Locale Data Markup Language ([[LDML]]) Part 4: Dates]], [TIME[2022-04-06T14:24:49.000Z]], [TIME[2022-07-12T13:34:37.890Z]] <https://unicode.org/reports/tr35/tr35-dates.html#months_days_quarters_eras>
-- [1]
'''[CITE[Unicode Locale Data Markup Language ([[LDML]]) Part 4: Dates]]''',
[TIME[2022-04-06T14:24:49.000Z]], [TIME[2022-07-11T08:01:56.548Z]] <https://unicode.org/reports/tr35/tr35-dates.html#Week_Data>
-- [69]
'''[CITE[Unicode Locale Data Markup Language ([[LDML]]) Part 4: Dates]], [TIME[2022-04-06T14:24:49.000Z]], [TIME[2022-07-12T13:44:14.717Z]]''' <https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns>
--- [84] [CITE[Unicode Locale Data Markup Language ([[LDML]]) Part 4: Dates]], [TIME[2022-04-06T14:24:49.000Z]], [TIME[2022-07-12T14:19:16.409Z]] <https://unicode.org/reports/tr35/tr35-dates.html#Date_Patterns_Week_Of_Year>
--- [85] [CITE[Unicode Locale Data Markup Language ([[LDML]]) Part 4: Dates]], [TIME[2022-04-06T14:24:49.000Z]], [TIME[2022-07-12T14:19:47.459Z]] <https://unicode.org/reports/tr35/tr35-dates.html#85-week-elements>
- [2]
[CITE@en[cldr/supplementalData.xml at latest · unicode-org/[[cldr]]]], [TIME[2022-07-11T08:03:29.000Z]] <https://github.com/unicode-org/cldr/blob/latest/common/supplemental/supplementalData.xml>
]REFS]
[3]
[[UAX #35]] ([[LDML]]) が構文を定め、
[[CLDR]] が[[ロケール]]定義を提供し、
[[ICU]] が実装するという関係になっています。
その母体となる[[標準化団体]]が [[Unicode Consortium]] です。
;; [4] [CITE[[[The Unicode Standard]]]]
本体と同じ[[標準化団体]]ですが、
仕様としては別物です。
[5] 実装はそれ以外にもあるかもしれません。
[SEE[ [[LDML]], [[CLDR]], [[ICU]] ]]
* LDML 要素
[65]
[[LDML]]
の[[ロケール]]データファイル用の[[XML要素]]として、
[DFN[[CODE[day]]]]
[[要素]]があります。
[CODE[type]] [[属性]]が[[必須]]です。
その[[内容]]は [[PCDATA]] です。
[SRC[>>64]]
[66]
[CODE[day]] [[要素]]の [DFN[[CODE[type]]]] [[属性]]は[[列挙属性]]で、
[CODE[sun]],
[CODE[mon]],
[CODE[tue]],
[CODE[wed]],
[CODE[thu]],
[CODE[fri]],
[CODE[sat]]
を指定できます。
[SRC[>>64]]
[[曜日]]を表し、それぞれ[[日曜日]]、[[月曜日]]、... [[土曜日]]です。
[[要素内容]]が当該[[ロケール]]において指定された[[曜日]]を表す[[文字列]]であることを意味します。
[67]
他の構造には[[数値]]を使っていますが、[[曜日]]に短い[[文字列]]を使っているのは、
普遍的に受け入れられている数値表現がないため、
と説明されています。
[SRC[>>64]]
-*-*-
[6]
[[LDML]] の[[ロケール]]データファイル用の [[XML要素]]として、
[DFN[[CODE[weekData]]]]
[[要素]]があります。
その[[内容]]は、
[CODE[minDays]],
[CODE[firstDays]],
[CODE[weekendStart]],
[CODE[weekEnd]],
[CODE[weekOfPreference]]
各[[要素]]で、この順序で、各0個[[以上]]含められます。
[SRC[>>1]]
[61]
[CODE[weekData]] [[要素]]は、
[CODE[supplementalData]] [[要素]]に含められます。
[SRC[>>63]]
-*-*-
[7]
[DFN[[CODE[minDays]]]]
は[[強制空要素]]で、
[CODE[count]] [[属性]]と
[CODE[territories]] [[属性]]が[[必須]]です。
[SRC[>>1]]
[8]
[DFN[[CODE[firstDay]]]],
[DFN[[CODE[weekendStart]]]],
[DFN[[CODE[weekendEnd]]]]
はすべて[[強制空要素]]で、
[CODE[day]] [[属性]]と
[CODE[territories]] [[属性]]が[[必須]]です。
[SRC[>>1]]
[11]
[CODE[minDays]],
[CODE[firstDay]],
[CODE[weekendStart]],
[CODE[weekendEnd]]
各[[要素]]の
[DFN[[CODE[territories]]]] [[属性]]は、
[CODE[NMTOKENS]]
を指定できます。
[SRC[>>1]]
[[要素]]は[[領土]]ごとの情報を表しており、
[CODE[territories]]
[[属性値]]の各[[名前字句]]が該当する[[領土]]を表しています。
同じ情報を持つ[[領土]]は1つの[[要素]]にまとめることができ、
別の情報を持つ[[領土]]は別の[[要素]]で表します。
[[領土]] [CODE[001]] の[[要素]]によって[[既定値]]の情報を記述できます
[SRC[>>1]]。
[9]
[CODE[minDays]] [[要素]]の
[DFN[[CODE[count]]]] [[属性]]は[[列挙属性]]で、 [CODE[1]] から [CODE[7]]
までの[[ASCII数字]]を指定できます。
[SRC[>>1]]
[[日]]数を表します。
[[年]]や[[月]]の最初の[[週]]の決定方法を指定するものです (>>15)。
[10]
[CODE[firstDay]],
[CODE[weekendStart]],
[CODE[weekendEnd]]
各[[要素]]の
[DFN[[CODE[day]]]] [[属性]]は[[列挙属性]]で、
[CODE[sun]],
[CODE[mon]],
[CODE[tue]],
[CODE[wed]],
[CODE[thu]],
[CODE[fri]],
[CODE[sat]]
を指定できます。
[SRC[>>1]]
[[曜日]]を表し、それぞれ[[日曜日]]、[[月曜日]]、... [[土曜日]]です。
[[週初]] (>>27) や[[週末]] (>>30) を指定するものです。
-*-*-
[12]
[DFN[[CODE[weekOfPreference]]]]
[[要素]]は[[強制空要素]]で、
[CODE[locales]] [[属性]]と
[CODE[ordering]] [[属性]]が[[必須]]です。
[SRC[>>1]]
[13]
[CODE[weekOfPreference]]
[[要素]]の
[DFN[[CODE[locales]]]] [[属性]]は、
[CODE[NMTOKENS]]
を指定できます。
[SRC[>>1]]
[[要素]]は[[ロケール]]ごとの情報を表しており、
[CODE[locales]]
[[属性値]]の各[[名前字句]]が該当する[[ロケール]]を表しています。
同じ情報を持つ[[ロケール]]は1つの[[要素]]にまとめることができ、
別の情報を持つ[[ロケール]]は別の[[要素]]で表します。
[[ロケール]] [CODE[und]] の[[要素]]によって[[既定値]]の情報を記述できます
[SRC[>>1]]。
[14]
[CODE[weekOfPreference]]
[[要素]]の
[DFN[[CODE[ordering]]]] [[属性]]は、
[CODE[NMTOKENS]]
を指定できます。
[SRC[>>1]]
週の表記法の優先順位を表します (>>52)。
* 週
[24]
[[LDML]] は[[七曜]]があてられた7日間の[[期間]]を[[週]]としているようです。
[[週]]と[[七曜]]は途切れず繰り返される前提としているようです。
[25]
7日以外の[[週]]や、[[週外日]]のようなものは扱えません。
[SEE[ [[週]] ]]
* 週初と週末
[27]
[[カレンダー]]表示の[[週]]の最初の[[日]]として表示するべきなのが、
[CODE[firstDay]]
で指定された[[曜日]]です。
[SRC[>>1]]
[86] [[日付書式パターン]]において[[暦]]の計算上の[[週]]の最初の[[日]]にも使います。
[SRC[>>85]]
[29]
[RUBYB[週の日の番号付け][day-of-week numbering]]は、
[[カレンダー]]表示の[[週]]の最初の[[日]]を [N[1]]
として数えていきます。
将来は別途指定できるようにするかもしれないとされています。
[SRC[>>1]]
[28]
[[週末]]の後の最初の[[日]]、[[週]]の最初の[RUBYB[労働日][work day]]は、
[[週末]]から決定するべきものです。
必ずしも[[カレンダー]]表示の[[週]]の最初の[[日]]と同じとは限りません。
[SRC[>>1]]
[34]
[[CLDR]] は本段落執筆時点では次のようにしています。
[SRC[>>2]]
- [35] [[領土]]
[[001]]
AD AI AL AM AN AR AT AX AZ
BA BE BG BM BN BY
CH CL CM CR CY CZ
DE DK
EC EE ES
FI FJ FO FR
GB GE GF GP GR
HR HU
IE IS IT
KG KZ
LB LI LK LT LU LV
MC MD ME MK MN MQ MY
NL NO NZ
PL
RE RO RS RU
SE SI SK SM
TJ TM TR
UA UY UZ
VA VN
XK
は[[月曜日]]
- [36] [[領土]]
MV
は[[金曜日]]
- [37] [[領土]]
AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY
は[[土曜日]]
- [38] [[領土]]
AG AS AU
BD BR BS BT BW BZ
CA CN CO
DM DO
ET
GT GU
HK HN
ID IL IN
JM JP
KE KH KR
LA
MH MM MO MT MX MZ
NI NP
PA PE PH PK PR PT PY
SA SG SV
TH TT TW
UM US
VE VI
WS
YE
ZA ZW
は[[日曜日]]
[42]
[[既定値]]を表す [CODE[001]] や、[[欧州]]などが[[月曜日]]になっています。
[[日本]]を含む[[アジア]]や、
[[米国]]を含む[[米大陸]]方面などが[[日曜日]]になっています。
[[アラブ諸国]]などが[[土曜日]]に、
[[モルディブ]]が[[金曜日]]になっています。
[39]
更に次のような[[要素]]があります。
[SRC[>>2]]
[PRE(XML code)[
<firstDay day="sun" territories="GB" alt="variant" references="Shorter Oxford Dictionary (5th edition, 2002)"/>
]PRE]
[40] [CODE[alt]] [[属性]]と [COE[references]] [[属性]]は [[UAX #35]]
の [[DTD]] 片にない[[属性]]で意味は未詳です。
文言から推測すると、
[[英国]]は一般に[[月曜日]]始まりのところ、
[[日曜日]]始まりとすることもあって、
[CITE[Shorter Oxford Dictionary]] がその出典である、
といったところでしょうか。
[41]
なぜ[[英国]]のこの1例だけ別案が示されているのか不思議です。
-*-*-
[30]
[[週末]]は
[CODE[weekendStart]]
で指定された[[曜日]]から
[CODE[weekendEnd]]
で指定された[[曜日]]までです。
[31]
[RUBYB[[[週末]]][weekend]]が何を意味するかは[[国]]によります。
一般には小売業以外のほとんどが休業する時期です。
[SRC[>>1]]
[NOTE[
[32]
[[時刻]]も指定できる [SRC[>>85]]、
[[時刻]]は「well-recognized part of the day」でなければ指定するべきではない
[SRC[>>1]] とされますが、 現行 [[LDML]] 仕様の [[DTD]]
片にはそのような指定がそもそも存在していません。過去には存在していたのでしょうか。
それとも他の規定が混入したのでしょうか。
[87]
過去の[[日本]]の[[土曜日]]の[[半ドン]]のようなものを記述できる想定だったのかもしれません。
]NOTE]
;; [33]
[[LDML]]
では
[CODE[weekendStart]] の既定値は [CODE[sat]]、
[CODE[weekendEnd]] の既定値は [CODE[sun]] とされます。
[SRC[>>1]]
しかし
[[CLDR]]
は [CODE[001]] [[領土]]の値を明示的に定義しています。
この[[既定値]]は何のためのものでしょうか。
[[CLDR]] 以外の用途を想定したのでしょうか?
でも不思議なことに他の[[要素]]には[[既定値]]がなく、ここでだけ規定されています。
[45]
[[CLDR]] は本段落執筆時点では次のようにしています。
[SRC[>>2]]
- [46] [[領土]] AF は[[木曜日]]から[[金曜日]]
- [51] [[領土]] IR は[[金曜日]]から[[金曜日]]
- [47] [[領土]]
AE BH DZ EG IL IQ JO KW LY OM QA SA SD SY YE
は[[金曜日]]から[[土曜日]]
- [48] [[領土]]
[[001]]
は[[土曜日]]から[[日曜日]]
- [49] [[領土]]
IN UG
は[[日曜日]]から
-- [50] 既定値 = [[領土]] [[001]] を補って、[[日曜日]]から[[日曜日]]
-*-*-
[43]
[[LDML]] の仕様では[[領土]]単位でしか記述できません。
[[領土]]以外の[[ロケール]]の要素による違いや、
[[位相]]差、個人差は扱えません。
* 週名の表記
[52]
[[ロケール]]ごとの[RUBYB[週の指定][week designation]]の種類の優先順位は、
[CODE[weekOfPreference]]
[[要素]]で記述されます。
[SRC[>>1]]
[53]
次の4種類の値があります。 [SRC[>>4]]
[[LDML]] の[[属性値]]として1つ[[以上]]、それぞれを高々1つ記述されることが求められると思われます。
- [54] [DFN[[CODE[weekOfYear]]]]:
「week 15 of 2016」のような表記です。
具体的には[[ロケール]]の
[CODE[<[[dateFormatItem]] id='yw'>]]
の形式に相当します。
- [55] [DFN[[CODE[weekOfMonth]]]]:
「week 2 of April」
「2nd week of April」
のような表記です。
具体的には[[ロケール]]の
[CODE[<[[dateFormatItem]] id='MMMMW'>]]
の形式に相当します。
- [56] [DFN[[CODE[weekOfDate]]]]:
「the week of April 11, 2016」
のような表記です。
具体的には[[ロケール]]の
[CODE[<[[field]] type="week"><[[relativePeriod]]>]]
の形式に相当します。
最初の[[日]]、[RUBYB[労働日][workday]]、
週全体の範囲、[RUBYB[労働週][work week]]の範囲などで表現できます。
- [57] [DFN[[CODE[weekOfInterval]]]]:
「the week of April 11, 2016」
のような表記です。
具体的には[[ロケール]]の
[CODE[<[[field]] type="week"><[[relativePeriod]]>]]
の形式に相当します。
最初の[[日]]、[RUBYB[労働日][workday]]、
週全体の範囲、[RUBYB[労働週][work week]]の範囲などで表現できます。
[58]
[[CLDR]] は本段落執筆時点では次のようにしています。
[SRC[>>2]]
[FIG(table)[
:l: [[ロケール]]
:weekOfYear:[CODE[weekOfYear]]
:weekOfMonth:[CODE[weekOfMonth]]
:weekOfDate:[CODE[weekOfDate]]
:weekOfInterval:[CODE[weekOfInterval]]
:l:[CODE[und]]
:weekOfYear:1
:l:am az bs cs cy da el et hi ky lt mk sk ta th
:weekOfYear:1
:weekOfMonth:2
:l:is mn no sv vi
:weekOfYear:1
:weekOfMonth:2
:weekOfInterval:3
:l:fi zh_TW
:weekOfYear:1
:weekOfDate:2
:weekOfMonth:3
:l:zu
:weekOfYear:1
:weekOfInterval:2
:l:ca es fr gl
:weekOfDate:1
:l:en bn ja ka
:weekOfDate:1
:weekOfMonth:2
:l:bg de iw pt ur zh
:weekOfDate:1
:weekOfMonth:2
:weekOfInterval:3
:l:nl
:weekOfDate:1
:weekOfYear:2
:weekOfMonth:3
:l:af
:weekOfDate:1
:weekOfInterval:2
:weekOfMonth:3
:l:ar fil gu hu hy id kk ko
:weekOfMonth:1
:weekOfMonth:1
:weekOfYear:2
:l:km mr
:weekOfMonth:1
:weekOfYear:2
:weekOfInterval:3
:weekOfDate:4
:l:ms tr
:weekOfMonth:1
:weekOfDate:2
:l:eu
:weekOfMonth:1
:weekOfDate:2
:weekOfYear:3
:l:kn ml pa
:weekOfMonth:1
:weekOfInterval:2
:l:fa hr it lv pl si sr uk uz
:weekOfMonth:1
:weekOfInterval:2
:weekOfYear:3
:l:sw te
:weekOfMonth:1
:weekOfInterval:2
:weekOfDate:3
:weekOfYear:4
:l:lo sq
:weekOfInterval:1
:l:sl
:weekOfInterval:1
:weekOfMonth:2
:l:be ro ru
]FIG]
[59]
このデータがどれだけ信頼できるかというと、怪しい気がします。
[[週]]の表記は[[年月日]]ほど安定しておらず
(優先度2位以下を持つ[[ロケール]]が多いことがそれを証明しています)、
[[国]]の単位で[[週]]はこう表記するべき、
と決定できるところがまず少ないのではないかと疑われます。
[60]
[CODE[ja]] では weekOfDate が第1位、 weekOfMonth が第2位になっています。
[[日本国]]の[[日本語]]では、
確かに「何月何日の週」のような言い方はしますし、
「何月第何週」のような言い方もします。
でも前者が優勢かというと、
自信を持って肯定するのも否定するのも難しいのではないでしょうか。
どちらかというと
「何月第何週」
の方が定期スケジュールの記述には多い気がします。
スケジュール確認の場面では
「何月何日の週」
が多い気がします
(「何月第何週」の安定した定義がないと理解されているからかもしれません)。
出来事や予定を一覧にする場面では、
「何月何日から何月何日の週」
の表記も見かけます
(がこのデータには weekOfInterval がないですね)。
[68] 併記という選択肢は記述できません。
* 年の週と月の週
[15]
[RUBYB[[[年の週]]の計算][week-of-year calculation]]における年の最初の週の決定や、
[RUBYB[[[月の週]]の計算][week-of-month calculation]]における月の最初の週の決定では、
[CODE[minDays]] で指定された値を使って、
その[[日]]数[[以上]]が含まれる[[週]]を[[年]]や[[月]]の[[週]]、
それに満たない[[週]]を前の[[年]]や[[月]]の[[週]]とします。
[SRC[>>1, >>85]]
[44]
[[LDML]] の仕様書では明確ではありませんが、
[[週初]]の[[日]]からの7日間が[[週]]とみなされるのでしょうか。
[16]
[[CLDR]] は本段落執筆時点では次のようにしています。
[SRC[>>2]]
- [17] [[領土]] [[001]] GU UM US VI は [N[1]]
- [18] [[領土]]
AD AN AT AX
BE BG
CH CZ
DE DK
EE ES
FI FJ FO FR
GB GF GG GI GP GR
HU
IE IM IS IT
JE
LI LT LU
MC MQ
NL NO
PL PT
RE RU
SE SJ SK SM
VA は [N[4]]
[19]
[N[1]] は1日でも含まれれば新しい[[年]]や[[月]]に属することを意味します。
既定値を表す [CODE[001]] や、[[アメリカ合衆国]]などがこちらになっています。
[20]
[N[4]] は4日、つまり7日ある[[週]]の[[過半数]]が含まれれば新しい[[年]]や[[月]]に属することを意味します。
[[欧州]]の[[国]]の多くがこちらになっています。
[[ISO週暦]]における[[週年]]と同じ決め方です。
[21]
[[LDML]] は [N[2]], [N[3]], [N[5]], [N[6]], [N[7]]
も認めていますが、現在の [[CLDR]] にはそのような[[領土]]は登録されていません。
[22]
[[LDML]] の仕様では所属年の決定方法と所属月の決定方法は変えられません。
(月が年に含まれるようにするためでしょうか。)
[23]
[[LDML]] の仕様では「前の月の最終週かつ次の月の最初の週である週」や
「前の月の最終週 (7日に満たない) と次の月の最初の週 (7日に満たない)」
のようなものを扱えません。
[26]
[[LDML]] の仕様では[[領土]]単位でしか記述できません。
[[領土]]以外の[[ロケール]]の要素による違いや、
[[位相]]差、個人差は扱えません。
[88]
[[CLDR]] で記述されたものがその[[国]]の実際の慣習を正確に記述できているかというと、
そうとも限らないでしょう。
明確な定めがなく曖昧に運用されている地域も少なくないのではないでしょうか。
[89]
[N[7]] の地域が1つもないのは意外ですね。
実際にはそのような数え方 (週全体が新年に収まる最初の週を第1週とする) もあるみたいです。
[[CLDR]] 調べによれば[[国]]単位で最も優勢な数え方がそれである、
という[[国]]は存在していない、という程度に理解するべきでしょう。
-*-*-
[83]
[[日付書式パターン]]では、[[年の週]]では[[年]]の最初、
[[月の週]]では[[月]]の最初を
[N[1]]
の[[週]]とし、
[N[2]]、
[N[3]]
と数えていきます。
[SRC[>>83]]
* 日付書式パターンにおける週暦
[70]
[[LDML]] の定める[[日時書式記述]]方式である[[日付書式パターン]]には、
[[週暦]]の要素を指定する方法があります。
-*-*-
[71]
[DFN[[CODE[Y]]]]
は[RUBYB[[[年の週]]に基づく暦][“Week of Year” based calendar]]における[[年]]の数値を表します。
[[年]]の変化は[[週]]の境界で発生します。
[SRC[>>69]]
[72]
[CODE[Y]] を複数個並べると、最低桁数になります。例えば
[DFN[[CODE[YYYY]]]] は[[0埋め]]して最低4桁の数値で表すことを意味します。
[SRC[>>69]]
[73]
[[暦年]]を表す [CODE[y]] とは違う値になることがあります [SRC[>>69]]。
ところが誤って利用するケースが後を絶ちません。
[SEE[ [[暦年週年バグ]] ]]
どうして [CODE[y]] と [CODE[Y]] のような紛らわしい割り当て方をしたのでしょうか。
間違いやすいことは明白なのに。
[75]
[[グレゴリオ暦]]以外の[[暦法]]でも使うことができます。
[SRC[>>69]]
-*-*-
[76]
[DFN[[CODE[w]]]] は[RUBYB[[[年の週]]][Week of Year]]の数値を表します。
[SRC[>>69]]
[77]
[DFN[[CODE[ww]]]] は[[0埋め]]して2桁の数値で表すことを意味します。
[SRC[>>69]]
[78]
[DFN[[CODE[W]]]] は[RUBYB[[[月の週]]][Week of Month]]の数値を表します。
[SRC[>>69]]
[79]
[DFN[[CODE[F]]]]
は
[[Day of Week in Month]]
の数値を表します。
[SRC[>>69]]
[EG[
[80] 例えば「2」の[[水曜日]]なら第2水曜日を表すようです。
]EG]
-*-*-
[81] [DFN[[CODE[E]]]], [DFN[[CODE[e]]]], [DFN[[CODE[c]]]]
は[[曜日]]を表します。
[SRC[>>69]]
[FIG(table)[
:c:文字
:1:1文字
:2:2文字
:3:3文字
:4:4文字
:5:5文字
:6:6文字
:c:[CODE[E]]
:1:
[CODE[E]]
format abbreviated
:2:
[CODE[EE]]
format abbreviated
:3:
[CODE[EEE]]
format abbreviated
:4:
[CODE[EEEE]]
format wide
:5:
[CODE[EEEEE]]
format narrow
:6:
[CODE[EEEEEE]]
format short
:c:[CODE[e]]
:1:
[CODE[e]]
format 1桁数値
:2:
[CODE[ee]]
format 2桁数値
:3:
[CODE[eee]]
format abbreviated
:4:
[CODE[eeee]]
format wide
:5:
[CODE[eeeee]]
format narrow
:6:
[CODE[eeeeee]]
format short
:c:[CODE[c]]
:1:
[CODE[c]]
stand-alone 1桁数値
:2:
[CODE[cc]]
stand-alone 2桁数値
:3:
[CODE[ccc]]
stand-alone abbreviated
:4:
[CODE[cccc]]
stand-alone wide
:5:
[CODE[ccccc]]
stand-alone narrow
:6:
[CODE[cccccc]]
stand-alone short
]FIG]
[82]
[[LDML]] では文字列の長さにより
Narrow (T),
Short (Tu),
Abbreviated (Tue),
Wide (Tuesday)
の種別があります。
また、
一般の[[日時表示]]を想定した format と、
[[カレンダー]]等を想定した stand-alone
があります。
-*-*-
[74]
[[ISO 8601]] で定義される [[ISO year-week calendar]]
において [CODE[Y]] と [CODE[w]] とを組み合わせて使うと説明されています。
[SRC[>>69]]
[[グレゴリオ暦]]で[[週初]]が[[月曜日]]なら、
[[ISO週暦]]と同等のものを表すことになります。
* メモ