AceTime 2.4.0 Date and time classes for Arduino that support timezones from the TZ Database.

zone_infos.cpp
1 // This file was generated by the following script:
2 //
3 // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
4 // --input_dir /home/brian/src/AceTime/src/zonedbctesting/tzfiles
5 // --output_dir /home/brian/src/AceTime/src/zonedbctesting
6 // --tz_version 2024b
7 // --action zonedb
8 // --language arduino
9 // --scope complete
10 // --db_namespace zonedbctesting
11 // --include_list include_list.txt
12 // --nocompress
13 // --start_year 1980
14 // --until_year 2200
15 //
16 // using the TZ Database files
17 //
18 // africa
19 // antarctica
20 // asia
21 // australasia
22 // backward
23 // etcetera
24 // europe
25 // northamerica
26 // southamerica
27 //
28 // from https://github.com/eggert/tz/releases/tag/2024b
29 //
30 // Supported Zones: 16 (15 zones, 1 links)
31 // Unsupported Zones: 580 (324 zones, 256 links)
32 //
33 // Requested Years: [1980,2200]
34 // Accurate Years: [1980,32767]
35 //
36 // Original Years: [1844,2087]
37 // Generated Years: [1945,2087]
38 // Lower/Upper Truncated: [True,False]
39 //
40 // Estimator Years: [1945,2090]
41 // Max Buffer Size: 7
42 //
43 // Records:
44 // Infos: 16
45 // Eras: 30
46 // Policies: 11
47 // Rules: 220
48 //
49 // Memory (8-bits):
50 // Context: 16
51 // Rules: 2640
52 // Policies: 33
53 // Eras: 450
54 // Zones: 195
55 // Links: 13
56 // Registry: 32
57 // Formats: 47
58 // Letters: 23
59 // Fragments: 0
60 // Names: 260 (original: 260)
61 // TOTAL: 3709
62 //
63 // Memory (32-bits):
64 // Context: 24
65 // Rules: 2640
66 // Policies: 88
67 // Eras: 600
68 // Zones: 360
69 // Links: 24
70 // Registry: 64
71 // Formats: 47
72 // Letters: 33
73 // Fragments: 0
74 // Names: 260 (original: 260)
75 // TOTAL: 4140
76 //
77 // DO NOT EDIT
78
79 #include <zoneinfo/compat.h>
80 #include "zone_policies.h"
81 #include "zone_infos.h"
82
83 namespace ace_time {
84 namespace zonedbctesting {
85
86 //---------------------------------------------------------------------------
87 // ZoneContext
88 //---------------------------------------------------------------------------
89
90 static const char kVersionString[] ACE_TIME_PROGMEM = "2024b";
91 const __FlashStringHelper* const kTzDatabaseVersion =
92 (const __FlashStringHelper*) kVersionString;
93
94
95 const char* const kFragments[] ACE_TIME_PROGMEM = {
96 nullptr, // '\x00' cannot exist
97
98 };
99
100 static const char kLetter0[] ACE_TIME_PROGMEM = "";
101 static const char kLetter1[] ACE_TIME_PROGMEM = "CAT";
102 static const char kLetter2[] ACE_TIME_PROGMEM = "D";
103 static const char kLetter3[] ACE_TIME_PROGMEM = "S";
104 static const char kLetter4[] ACE_TIME_PROGMEM = "WAT";
105
106 const char* const kLetters[] ACE_TIME_PROGMEM = {
107 kLetter0, // ""
108 kLetter1, // "CAT"
109 kLetter2, // "D"
110 kLetter3, // "S"
111 kLetter4, // "WAT"
112
113 };
114
115 const complete::ZoneContext kZoneContext ACE_TIME_PROGMEM = {
116 1980 /*startYear*/,
117 2200 /*untilYear*/,
118 1980 /*startYearAccurate*/,
119 32767 /*untilYearAccurate*/,
120 2100 /*baseYear*/,
121 7 /*maxTransitions*/,
122 kVersionString /*tzVersion*/,
123 1 /*numFragments*/,
124 5 /*numLetters*/,
125 kFragments /*fragments*/,
126 kLetters /*letters*/,
127 };
128
129 //---------------------------------------------------------------------------
130 // Zones: 15
131 // Eras: 30
132 //---------------------------------------------------------------------------
133
134 //---------------------------------------------------------------------------
135 // Zone name: Africa/Casablanca
136 // Eras: 4
137 //---------------------------------------------------------------------------
138
139 static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = {
140 // 0:00 Morocco %z 1984 Mar 16
141 {
142 &kZonePolicyMorocco /*zonePolicy*/,
143 "" /*format*/,
144 0 /*offsetCode (0/15)*/,
145 0 /*offsetRemainder (0%15)*/,
146 0 /*deltaMinutes*/,
147 1984 /*untilYear*/,
148 3 /*untilMonth*/,
149 16 /*untilDay*/,
150 0 /*untilTimeCode (0/15)*/,
151 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
152 },
153 // 1:00 - %z 1986
154 {
155 nullptr /*zonePolicy*/,
156 "" /*format*/,
157 240 /*offsetCode (3600/15)*/,
158 0 /*offsetRemainder (3600%15)*/,
159 0 /*deltaMinutes*/,
160 1986 /*untilYear*/,
161 1 /*untilMonth*/,
162 1 /*untilDay*/,
163 0 /*untilTimeCode (0/15)*/,
164 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
165 },
166 // 0:00 Morocco %z 2018 Oct 28 3:00
167 {
168 &kZonePolicyMorocco /*zonePolicy*/,
169 "" /*format*/,
170 0 /*offsetCode (0/15)*/,
171 0 /*offsetRemainder (0%15)*/,
172 0 /*deltaMinutes*/,
173 2018 /*untilYear*/,
174 10 /*untilMonth*/,
175 28 /*untilDay*/,
176 720 /*untilTimeCode (10800/15)*/,
177 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
178 },
179 // 1:00 Morocco %z
180 {
181 &kZonePolicyMorocco /*zonePolicy*/,
182 "" /*format*/,
183 240 /*offsetCode (3600/15)*/,
184 0 /*offsetRemainder (3600%15)*/,
185 0 /*deltaMinutes*/,
186 32767 /*untilYear*/,
187 1 /*untilMonth*/,
188 1 /*untilDay*/,
189 0 /*untilTimeCode (0/15)*/,
190 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
191 },
192
193 };
194
195 static const char kZoneNameAfrica_Casablanca[] ACE_TIME_PROGMEM = "Africa/Casablanca";
196
197 const complete::ZoneInfo kZoneAfrica_Casablanca ACE_TIME_PROGMEM = {
198 kZoneNameAfrica_Casablanca /*name*/,
199 0xc59f1b33 /*zoneId*/,
200 &kZoneContext /*zoneContext*/,
201 4 /*numEras*/,
202 kZoneEraAfrica_Casablanca /*eras*/,
203 nullptr /*targetInfo*/,
204 };
205
206 //---------------------------------------------------------------------------
207 // Zone name: Africa/Windhoek
208 // Eras: 2
209 //---------------------------------------------------------------------------
210
211 static const complete::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
212 // 2:00 - SAST 1990 Mar 21
213 {
214 nullptr /*zonePolicy*/,
215 "SAST" /*format*/,
216 480 /*offsetCode (7200/15)*/,
217 0 /*offsetRemainder (7200%15)*/,
218 0 /*deltaMinutes*/,
219 1990 /*untilYear*/,
220 3 /*untilMonth*/,
221 21 /*untilDay*/,
222 0 /*untilTimeCode (0/15)*/,
223 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
224 },
225 // 2:00 Namibia %s
226 {
227 &kZonePolicyNamibia /*zonePolicy*/,
228 "%" /*format*/,
229 480 /*offsetCode (7200/15)*/,
230 0 /*offsetRemainder (7200%15)*/,
231 0 /*deltaMinutes*/,
232 32767 /*untilYear*/,
233 1 /*untilMonth*/,
234 1 /*untilDay*/,
235 0 /*untilTimeCode (0/15)*/,
236 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
237 },
238
239 };
240
241 static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "Africa/Windhoek";
242
243 const complete::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
244 kZoneNameAfrica_Windhoek /*name*/,
245 0x789c9bd3 /*zoneId*/,
246 &kZoneContext /*zoneContext*/,
247 2 /*numEras*/,
248 kZoneEraAfrica_Windhoek /*eras*/,
249 nullptr /*targetInfo*/,
250 };
251
252 //---------------------------------------------------------------------------
253 // Zone name: America/Caracas
254 // Eras: 3
255 //---------------------------------------------------------------------------
256
257 static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = {
258 // -4:00 - %z 2007 Dec 9 3:00
259 {
260 nullptr /*zonePolicy*/,
261 "" /*format*/,
262 -960 /*offsetCode (-14400/15)*/,
263 0 /*offsetRemainder (-14400%15)*/,
264 0 /*deltaMinutes*/,
265 2007 /*untilYear*/,
266 12 /*untilMonth*/,
267 9 /*untilDay*/,
268 720 /*untilTimeCode (10800/15)*/,
269 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
270 },
271 // -4:30 - %z 2016 May 1 2:30
272 {
273 nullptr /*zonePolicy*/,
274 "" /*format*/,
275 -1080 /*offsetCode (-16200/15)*/,
276 0 /*offsetRemainder (-16200%15)*/,
277 0 /*deltaMinutes*/,
278 2016 /*untilYear*/,
279 5 /*untilMonth*/,
280 1 /*untilDay*/,
281 600 /*untilTimeCode (9000/15)*/,
282 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
283 },
284 // -4:00 - %z
285 {
286 nullptr /*zonePolicy*/,
287 "" /*format*/,
288 -960 /*offsetCode (-14400/15)*/,
289 0 /*offsetRemainder (-14400%15)*/,
290 0 /*deltaMinutes*/,
291 32767 /*untilYear*/,
292 1 /*untilMonth*/,
293 1 /*untilDay*/,
294 0 /*untilTimeCode (0/15)*/,
295 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
296 },
297
298 };
299
300 static const char kZoneNameAmerica_Caracas[] ACE_TIME_PROGMEM = "America/Caracas";
301
302 const complete::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = {
303 kZoneNameAmerica_Caracas /*name*/,
304 0x3be064f4 /*zoneId*/,
305 &kZoneContext /*zoneContext*/,
306 3 /*numEras*/,
307 kZoneEraAmerica_Caracas /*eras*/,
308 nullptr /*targetInfo*/,
309 };
310
311 //---------------------------------------------------------------------------
312 // Zone name: America/Chicago
313 // Eras: 1
314 //---------------------------------------------------------------------------
315
316 static const complete::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
317 // -6:00 US C%sT
318 {
319 &kZonePolicyUS /*zonePolicy*/,
320 "C%T" /*format*/,
321 -1440 /*offsetCode (-21600/15)*/,
322 0 /*offsetRemainder (-21600%15)*/,
323 0 /*deltaMinutes*/,
324 32767 /*untilYear*/,
325 1 /*untilMonth*/,
326 1 /*untilDay*/,
327 0 /*untilTimeCode (0/15)*/,
328 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
329 },
330
331 };
332
333 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "America/Chicago";
334
335 const complete::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
336 kZoneNameAmerica_Chicago /*name*/,
337 0x4b92b5d4 /*zoneId*/,
338 &kZoneContext /*zoneContext*/,
339 1 /*numEras*/,
340 kZoneEraAmerica_Chicago /*eras*/,
341 nullptr /*targetInfo*/,
342 };
343
344 //---------------------------------------------------------------------------
345 // Zone name: America/Denver
346 // Eras: 1
347 //---------------------------------------------------------------------------
348
349 static const complete::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
350 // -7:00 US M%sT
351 {
352 &kZonePolicyUS /*zonePolicy*/,
353 "M%T" /*format*/,
354 -1680 /*offsetCode (-25200/15)*/,
355 0 /*offsetRemainder (-25200%15)*/,
356 0 /*deltaMinutes*/,
357 32767 /*untilYear*/,
358 1 /*untilMonth*/,
359 1 /*untilDay*/,
360 0 /*untilTimeCode (0/15)*/,
361 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
362 },
363
364 };
365
366 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "America/Denver";
367
368 const complete::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
369 kZoneNameAmerica_Denver /*name*/,
370 0x97d10b2a /*zoneId*/,
371 &kZoneContext /*zoneContext*/,
372 1 /*numEras*/,
373 kZoneEraAmerica_Denver /*eras*/,
374 nullptr /*targetInfo*/,
375 };
376
377 //---------------------------------------------------------------------------
378 // Zone name: America/Edmonton
379 // Eras: 2
380 //---------------------------------------------------------------------------
381
382 static const complete::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
383 // -7:00 Edm M%sT 1987
384 {
385 &kZonePolicyEdm /*zonePolicy*/,
386 "M%T" /*format*/,
387 -1680 /*offsetCode (-25200/15)*/,
388 0 /*offsetRemainder (-25200%15)*/,
389 0 /*deltaMinutes*/,
390 1987 /*untilYear*/,
391 1 /*untilMonth*/,
392 1 /*untilDay*/,
393 0 /*untilTimeCode (0/15)*/,
394 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
395 },
396 // -7:00 Canada M%sT
397 {
398 &kZonePolicyCanada /*zonePolicy*/,
399 "M%T" /*format*/,
400 -1680 /*offsetCode (-25200/15)*/,
401 0 /*offsetRemainder (-25200%15)*/,
402 0 /*deltaMinutes*/,
403 32767 /*untilYear*/,
404 1 /*untilMonth*/,
405 1 /*untilDay*/,
406 0 /*untilTimeCode (0/15)*/,
407 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
408 },
409
410 };
411
412 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "America/Edmonton";
413
414 const complete::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
415 kZoneNameAmerica_Edmonton /*name*/,
416 0x6cb9484a /*zoneId*/,
417 &kZoneContext /*zoneContext*/,
418 2 /*numEras*/,
419 kZoneEraAmerica_Edmonton /*eras*/,
420 nullptr /*targetInfo*/,
421 };
422
423 //---------------------------------------------------------------------------
424 // Zone name: America/Los_Angeles
425 // Eras: 1
426 //---------------------------------------------------------------------------
427
428 static const complete::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
429 // -8:00 US P%sT
430 {
431 &kZonePolicyUS /*zonePolicy*/,
432 "P%T" /*format*/,
433 -1920 /*offsetCode (-28800/15)*/,
434 0 /*offsetRemainder (-28800%15)*/,
435 0 /*deltaMinutes*/,
436 32767 /*untilYear*/,
437 1 /*untilMonth*/,
438 1 /*untilDay*/,
439 0 /*untilTimeCode (0/15)*/,
440 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
441 },
442
443 };
444
445 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "America/Los_Angeles";
446
447 const complete::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
448 kZoneNameAmerica_Los_Angeles /*name*/,
449 0xb7f7e8f2 /*zoneId*/,
450 &kZoneContext /*zoneContext*/,
451 1 /*numEras*/,
452 kZoneEraAmerica_Los_Angeles /*eras*/,
453 nullptr /*targetInfo*/,
454 };
455
456 //---------------------------------------------------------------------------
457 // Zone name: America/New_York
458 // Eras: 1
459 //---------------------------------------------------------------------------
460
461 static const complete::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
462 // -5:00 US E%sT
463 {
464 &kZonePolicyUS /*zonePolicy*/,
465 "E%T" /*format*/,
466 -1200 /*offsetCode (-18000/15)*/,
467 0 /*offsetRemainder (-18000%15)*/,
468 0 /*deltaMinutes*/,
469 32767 /*untilYear*/,
470 1 /*untilMonth*/,
471 1 /*untilDay*/,
472 0 /*untilTimeCode (0/15)*/,
473 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
474 },
475
476 };
477
478 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "America/New_York";
479
480 const complete::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
481 kZoneNameAmerica_New_York /*name*/,
482 0x1e2a7654 /*zoneId*/,
483 &kZoneContext /*zoneContext*/,
484 1 /*numEras*/,
485 kZoneEraAmerica_New_York /*eras*/,
486 nullptr /*targetInfo*/,
487 };
488
489 //---------------------------------------------------------------------------
490 // Zone name: America/Toronto
491 // Eras: 1
492 //---------------------------------------------------------------------------
493
494 static const complete::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
495 // -5:00 Canada E%sT
496 {
497 &kZonePolicyCanada /*zonePolicy*/,
498 "E%T" /*format*/,
499 -1200 /*offsetCode (-18000/15)*/,
500 0 /*offsetRemainder (-18000%15)*/,
501 0 /*deltaMinutes*/,
502 32767 /*untilYear*/,
503 1 /*untilMonth*/,
504 1 /*untilDay*/,
505 0 /*untilTimeCode (0/15)*/,
506 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
507 },
508
509 };
510
511 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "America/Toronto";
512
513 const complete::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
514 kZoneNameAmerica_Toronto /*name*/,
515 0x792e851b /*zoneId*/,
516 &kZoneContext /*zoneContext*/,
517 1 /*numEras*/,
518 kZoneEraAmerica_Toronto /*eras*/,
519 nullptr /*targetInfo*/,
520 };
521
522 //---------------------------------------------------------------------------
523 // Zone name: America/Vancouver
524 // Eras: 2
525 //---------------------------------------------------------------------------
526
527 static const complete::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
528 // -8:00 Vanc P%sT 1987
529 {
530 &kZonePolicyVanc /*zonePolicy*/,
531 "P%T" /*format*/,
532 -1920 /*offsetCode (-28800/15)*/,
533 0 /*offsetRemainder (-28800%15)*/,
534 0 /*deltaMinutes*/,
535 1987 /*untilYear*/,
536 1 /*untilMonth*/,
537 1 /*untilDay*/,
538 0 /*untilTimeCode (0/15)*/,
539 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
540 },
541 // -8:00 Canada P%sT
542 {
543 &kZonePolicyCanada /*zonePolicy*/,
544 "P%T" /*format*/,
545 -1920 /*offsetCode (-28800/15)*/,
546 0 /*offsetRemainder (-28800%15)*/,
547 0 /*deltaMinutes*/,
548 32767 /*untilYear*/,
549 1 /*untilMonth*/,
550 1 /*untilDay*/,
551 0 /*untilTimeCode (0/15)*/,
552 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
553 },
554
555 };
556
557 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "America/Vancouver";
558
559 const complete::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
560 kZoneNameAmerica_Vancouver /*name*/,
561 0x2c6f6b1f /*zoneId*/,
562 &kZoneContext /*zoneContext*/,
563 2 /*numEras*/,
564 kZoneEraAmerica_Vancouver /*eras*/,
565 nullptr /*targetInfo*/,
566 };
567
568 //---------------------------------------------------------------------------
569 // Zone name: America/Whitehorse
570 // Eras: 3
571 //---------------------------------------------------------------------------
572
573 static const complete::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = {
574 // -8:00 - PST 1980
575 {
576 nullptr /*zonePolicy*/,
577 "PST" /*format*/,
578 -1920 /*offsetCode (-28800/15)*/,
579 0 /*offsetRemainder (-28800%15)*/,
580 0 /*deltaMinutes*/,
581 1980 /*untilYear*/,
582 1 /*untilMonth*/,
583 1 /*untilDay*/,
584 0 /*untilTimeCode (0/15)*/,
585 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
586 },
587 // -8:00 Canada P%sT 2020 Nov 1
588 {
589 &kZonePolicyCanada /*zonePolicy*/,
590 "P%T" /*format*/,
591 -1920 /*offsetCode (-28800/15)*/,
592 0 /*offsetRemainder (-28800%15)*/,
593 0 /*deltaMinutes*/,
594 2020 /*untilYear*/,
595 11 /*untilMonth*/,
596 1 /*untilDay*/,
597 0 /*untilTimeCode (0/15)*/,
598 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
599 },
600 // -7:00 - MST
601 {
602 nullptr /*zonePolicy*/,
603 "MST" /*format*/,
604 -1680 /*offsetCode (-25200/15)*/,
605 0 /*offsetRemainder (-25200%15)*/,
606 0 /*deltaMinutes*/,
607 32767 /*untilYear*/,
608 1 /*untilMonth*/,
609 1 /*untilDay*/,
610 0 /*untilTimeCode (0/15)*/,
611 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
612 },
613
614 };
615
616 static const char kZoneNameAmerica_Whitehorse[] ACE_TIME_PROGMEM = "America/Whitehorse";
617
618 const complete::ZoneInfo kZoneAmerica_Whitehorse ACE_TIME_PROGMEM = {
619 kZoneNameAmerica_Whitehorse /*name*/,
620 0x54e0e3e8 /*zoneId*/,
621 &kZoneContext /*zoneContext*/,
622 3 /*numEras*/,
623 kZoneEraAmerica_Whitehorse /*eras*/,
624 nullptr /*targetInfo*/,
625 };
626
627 //---------------------------------------------------------------------------
628 // Zone name: America/Winnipeg
629 // Eras: 2
630 //---------------------------------------------------------------------------
631
632 static const complete::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
633 // -6:00 Winn C%sT 2006
634 {
635 &kZonePolicyWinn /*zonePolicy*/,
636 "C%T" /*format*/,
637 -1440 /*offsetCode (-21600/15)*/,
638 0 /*offsetRemainder (-21600%15)*/,
639 0 /*deltaMinutes*/,
640 2006 /*untilYear*/,
641 1 /*untilMonth*/,
642 1 /*untilDay*/,
643 0 /*untilTimeCode (0/15)*/,
644 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
645 },
646 // -6:00 Canada C%sT
647 {
648 &kZonePolicyCanada /*zonePolicy*/,
649 "C%T" /*format*/,
650 -1440 /*offsetCode (-21600/15)*/,
651 0 /*offsetRemainder (-21600%15)*/,
652 0 /*deltaMinutes*/,
653 32767 /*untilYear*/,
654 1 /*untilMonth*/,
655 1 /*untilDay*/,
656 0 /*untilTimeCode (0/15)*/,
657 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
658 },
659
660 };
661
662 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "America/Winnipeg";
663
664 const complete::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
665 kZoneNameAmerica_Winnipeg /*name*/,
666 0x8c7dafc7 /*zoneId*/,
667 &kZoneContext /*zoneContext*/,
668 2 /*numEras*/,
669 kZoneEraAmerica_Winnipeg /*eras*/,
670 nullptr /*targetInfo*/,
671 };
672
673 //---------------------------------------------------------------------------
674 // Zone name: Australia/Darwin
675 // Eras: 1
676 //---------------------------------------------------------------------------
677
678 static const complete::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
679 // 9:30 Aus AC%sT
680 {
681 &kZonePolicyAus /*zonePolicy*/,
682 "AC%T" /*format*/,
683 2280 /*offsetCode (34200/15)*/,
684 0 /*offsetRemainder (34200%15)*/,
685 0 /*deltaMinutes*/,
686 32767 /*untilYear*/,
687 1 /*untilMonth*/,
688 1 /*untilDay*/,
689 0 /*untilTimeCode (0/15)*/,
690 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
691 },
692
693 };
694
695 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "Australia/Darwin";
696
697 const complete::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
698 kZoneNameAustralia_Darwin /*name*/,
699 0x2876bdff /*zoneId*/,
700 &kZoneContext /*zoneContext*/,
701 1 /*numEras*/,
702 kZoneEraAustralia_Darwin /*eras*/,
703 nullptr /*targetInfo*/,
704 };
705
706 //---------------------------------------------------------------------------
707 // Zone name: Europe/Lisbon
708 // Eras: 4
709 //---------------------------------------------------------------------------
710
711 static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
712 // 0:00 Port WE%sT 1986
713 {
714 &kZonePolicyPort /*zonePolicy*/,
715 "WE%T" /*format*/,
716 0 /*offsetCode (0/15)*/,
717 0 /*offsetRemainder (0%15)*/,
718 0 /*deltaMinutes*/,
719 1986 /*untilYear*/,
720 1 /*untilMonth*/,
721 1 /*untilDay*/,
722 0 /*untilTimeCode (0/15)*/,
723 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
724 },
725 // 0:00 EU WE%sT 1992 Sep 27 1:00u
726 {
727 &kZonePolicyEU /*zonePolicy*/,
728 "WE%T" /*format*/,
729 0 /*offsetCode (0/15)*/,
730 0 /*offsetRemainder (0%15)*/,
731 0 /*deltaMinutes*/,
732 1992 /*untilYear*/,
733 9 /*untilMonth*/,
734 27 /*untilDay*/,
735 240 /*untilTimeCode (3600/15)*/,
736 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
737 },
738 // 1:00 EU CE%sT 1996 Mar 31 1:00u
739 {
740 &kZonePolicyEU /*zonePolicy*/,
741 "CE%T" /*format*/,
742 240 /*offsetCode (3600/15)*/,
743 0 /*offsetRemainder (3600%15)*/,
744 0 /*deltaMinutes*/,
745 1996 /*untilYear*/,
746 3 /*untilMonth*/,
747 31 /*untilDay*/,
748 240 /*untilTimeCode (3600/15)*/,
749 32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
750 },
751 // 0:00 EU WE%sT
752 {
753 &kZonePolicyEU /*zonePolicy*/,
754 "WE%T" /*format*/,
755 0 /*offsetCode (0/15)*/,
756 0 /*offsetRemainder (0%15)*/,
757 0 /*deltaMinutes*/,
758 32767 /*untilYear*/,
759 1 /*untilMonth*/,
760 1 /*untilDay*/,
761 0 /*untilTimeCode (0/15)*/,
762 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
763 },
764
765 };
766
767 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "Europe/Lisbon";
768
769 const complete::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
770 kZoneNameEurope_Lisbon /*name*/,
771 0x5c00a70b /*zoneId*/,
772 &kZoneContext /*zoneContext*/,
773 4 /*numEras*/,
774 kZoneEraEurope_Lisbon /*eras*/,
775 nullptr /*targetInfo*/,
776 };
777
778 //---------------------------------------------------------------------------
779 // Zone name: Pacific/Apia
780 // Eras: 2
781 //---------------------------------------------------------------------------
782
783 static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = {
784 // -11:00 WS %z 2011 Dec 29 24:00
785 {
786 &kZonePolicyWS /*zonePolicy*/,
787 "" /*format*/,
788 -2640 /*offsetCode (-39600/15)*/,
789 0 /*offsetRemainder (-39600%15)*/,
790 0 /*deltaMinutes*/,
791 2011 /*untilYear*/,
792 12 /*untilMonth*/,
793 29 /*untilDay*/,
794 5760 /*untilTimeCode (86400/15)*/,
795 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
796 },
797 // 13:00 WS %z
798 {
799 &kZonePolicyWS /*zonePolicy*/,
800 "" /*format*/,
801 3120 /*offsetCode (46800/15)*/,
802 0 /*offsetRemainder (46800%15)*/,
803 0 /*deltaMinutes*/,
804 32767 /*untilYear*/,
805 1 /*untilMonth*/,
806 1 /*untilDay*/,
807 0 /*untilTimeCode (0/15)*/,
808 0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
809 },
810
811 };
812
813 static const char kZoneNamePacific_Apia[] ACE_TIME_PROGMEM = "Pacific/Apia";
814
815 const complete::ZoneInfo kZonePacific_Apia ACE_TIME_PROGMEM = {
816 kZoneNamePacific_Apia /*name*/,
817 0x23359b5e /*zoneId*/,
818 &kZoneContext /*zoneContext*/,
819 2 /*numEras*/,
820 kZoneEraPacific_Apia /*eras*/,
821 nullptr /*targetInfo*/,
822 };
823
824
825
826 //---------------------------------------------------------------------------
827 // Links: 1
828 //---------------------------------------------------------------------------
829
830 //---------------------------------------------------------------------------
831 // Link name: US/Pacific -> America/Los_Angeles
832 //---------------------------------------------------------------------------
833
834 static const char kZoneNameUS_Pacific[] ACE_TIME_PROGMEM = "US/Pacific";
835
836 const complete::ZoneInfo kZoneUS_Pacific ACE_TIME_PROGMEM = {
837 kZoneNameUS_Pacific /*name*/,
838 0xa950f6ab /*zoneId*/,
839 &kZoneContext /*zoneContext*/,
840 1 /*numEras*/,
841 kZoneEraAmerica_Los_Angeles /*eras*/,
842 &kZoneAmerica_Los_Angeles /*targetInfo*/,
843 };
844
845
846 }
847 }
compat.h
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...