diff options
Diffstat (limited to 'Build/source/libs/icu/icu-4.6/samples/datefmt/README.TXT')
-rw-r--r-- | Build/source/libs/icu/icu-4.6/samples/datefmt/README.TXT | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.6/samples/datefmt/README.TXT b/Build/source/libs/icu/icu-4.6/samples/datefmt/README.TXT new file mode 100644 index 00000000000..3671b15b9a8 --- /dev/null +++ b/Build/source/libs/icu/icu-4.6/samples/datefmt/README.TXT @@ -0,0 +1,104 @@ +Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved. + +IMPORTANT: + +This sample was originally intended as an exercise for the ICU Workshop (September 2000). +The code currently provided in the solution file is the answer to the exercises, each step can still be found in the 'answers' subdirectory. + + + +** Workshop homepage is: + http://www.icu-project.org/docs/workshop_2000/agenda.html + + #Date/Time/Number Formatting Support + 9:30am - 10:30am + Alan Liu + + Topics: + 1. What is the date/time support in ICU? + 2. What is the timezone support in ICU? + 3. What kind of formatting and parsing support is available in ICU, i.e. + NumberFormat, DateFormat, MessageFormat? + + +INSTRUCTIONS +------------ + +This exercise was first developed and tested on ICU release 1.6.0, Win32, +Microsoft Visual C++ 6.0. It should work on other ICU releases and +other platforms as well. + + MSVC: + Open the file "datefmt.sln" in Microsoft Visual C++. + + Unix: + - Build and install ICU with a prefix, for example '--prefix=/home/srl/ICU' + - Set the variable ICU_PREFIX=/home/srl/ICU and use GNU make in + this directory. + - You may use 'make check' to invoke this sample. + +PROBLEMS +-------- + +Problem 0: + + Set up the program, build it, and run it. To start with, the + program prints out a list of languages. + +Problem 1: Basic Date Formatting (Easy) + + Create a calendar, and use it to get the UDate for June 4, 1999, + 0:00 GMT (or any date of your choosing). You will have to create a + TimeZone (use the createZone() function already defined in main.cpp) + and a Calendar object, and make the calendar use the time zone. + + Once you have the UDate, create a DateFormat object in each of the + languages in the LANGUAGE array, and display the date in that + language. Use the DateFormat::createDateInstance() method to create + the date formatter. + +Problem 2: Date Formatting, Specific Time Zone (Medium) + + To really localize a time display, one can also specify the time + zone in which the time should be displayed. For each language, + also create different time zones from the TIMEZONE list. + + To format a date with a specific calendar and zone, you must deal with + three objects: a DateFormat, a Calendar, and a TimeZone. Each object + must be linked to another in correct sequence: The Calendar must use + the TimeZone, and the DateFormat must use the Calendar. + + DateFormat =uses=> Calendar =uses=> TimeZone + + Use either setFoo() or adoptFoo() methods, depending on where you + want to have ownership. + + NOTE: It's not always desirable to change the time to a local time + zone before display. For instance, if some even occurs at 0:00 GMT + on the first of the month, it's probably clearer to just state that. + Stating that it occurs at 5:00 PM PDT on the day before in the + summer, and 4:00 PM PST on the day before in the winter will just + confuse the issue. + + +NOTES +----- + +To see a list of system TimeZone IDs, use the TimeZone::create- +AvailableIDs() methods. Alternatively, look at the file +icu/docs/tz.htm. This has a hyperlinked list of current system zones. + + +ANSWERS +------- + +The exercise includes answers. These are in the "answers" directory, +and are numbered 1, 2, etc. + +If you get stuck and you want to move to the next step, copy the +answers file into the main directory in order to proceed. E.g., +"main_1.cpp" contains the original "main.cpp" file. "main_2.cpp" +contains the "main.cpp" file after problem 1. Etc. + + +Have fun! |