]>
Commit | Line | Data |
---|---|---|
b75a7d8f | 1 | /******************************************************************** |
f3c0d7a5 A |
2 | * © 2016 and later: Unicode, Inc. and others. |
3 | * License & terms of use: http://www.unicode.org/copyright.html#License | |
4 | ************************************************************************* | |
5 | ************************************************************************* | |
b75a7d8f | 6 | * COPYRIGHT: |
f3c0d7a5 | 7 | * Copyright (c) 1999-2003, International Business Machines Corporation and |
b75a7d8f | 8 | * others. All Rights Reserved. |
f3c0d7a5 | 9 | *************************************************************************/ |
b75a7d8f A |
10 | |
11 | #include "unicode/unistr.h" | |
12 | #include "unicode/calendar.h" | |
13 | #include "unicode/datefmt.h" | |
14 | #include <stdio.h> | |
15 | #include <stdlib.h> | |
16 | #include "util.h" | |
17 | ||
18 | /** | |
19 | * If the ID supplied to TimeZone is not a valid system ID, | |
20 | * TimeZone::createTimeZone() will return a GMT zone object. In order | |
21 | * to detect this error, we check the ID of the returned zone against | |
22 | * the ID we requested. If they don't match, we fail with an error. | |
23 | */ | |
24 | TimeZone* createZone(const UnicodeString& id) { | |
25 | UnicodeString str; | |
26 | TimeZone* zone = TimeZone::createTimeZone(id); | |
27 | if (zone->getID(str) != id) { | |
28 | delete zone; | |
29 | printf("Error: TimeZone::createTimeZone("); | |
30 | uprintf(id); | |
31 | printf(") returned zone with ID "); | |
32 | uprintf(str); | |
33 | printf("\n"); | |
34 | exit(1); | |
35 | } | |
36 | return zone; | |
37 | } | |
38 | ||
39 | int main(int argc, char **argv) { | |
40 | ||
41 | UErrorCode status = U_ZERO_ERROR; | |
42 | UnicodeString str; | |
43 | ||
44 | // The languages in which we will display the date | |
45 | static char* LANGUAGE[] = { | |
46 | "en", "de", "fr" | |
47 | }; | |
48 | static const int32_t N_LANGUAGE = sizeof(LANGUAGE)/sizeof(LANGUAGE[0]); | |
49 | ||
50 | // The time zones in which we will display the time | |
51 | static char* TIMEZONE[] = { | |
52 | "America/Los_Angeles", | |
53 | "America/New_York", | |
54 | "Europe/Paris", | |
55 | "Europe/Berlin" | |
56 | }; | |
57 | static const int32_t N_TIMEZONE = sizeof(TIMEZONE)/sizeof(TIMEZONE[0]); | |
58 | ||
59 | for (int32_t i=0; i<N_LANGUAGE; ++i) { | |
60 | Locale loc(LANGUAGE[i]); | |
61 | ||
62 | // Display the formatted date string | |
63 | printf("Date (%s)\n", LANGUAGE[i]); | |
64 | } | |
65 | ||
66 | printf("Exiting successfully\n"); | |
67 | return 0; | |
68 | } |