The following date-time patterns need to be supplied. In order to get the right formats for your language, you may need to change the ordering of the Date/Time Symbols, and change the text around them. Important: the characters a-z and A-Z are special placeholders; they stand for date or time fields, NOT real characters. For example, y stands for a numeric year and will be replaced by a value like '1998'. See Date/Time Symbols for details. Any "real" characters need to be quoted, as in the following where a real character 'g' needs to be in the pattern. EEE, yyyy. 'g'. dd. MMM Basic Time FormatsThere are four basic time formats.
Note: The patterns depend on whether the main country using your language uses 12-hour time or not.
Languages should always have translations for AM/PM/noon even if every country they are used in has 24 hour time.
Basic Date FormatsThere are four basic date formats.
The Month symbol especially may vary (M vs MM, or MMM vs LLL). For more information, see Date/Time Symbols.
Additional Date-Time FormatsThe basic formats provide a small subset of the combinations that people need. For the others, a skeleton format is provided that uses the Date/Time Symbols (without order or punctuation) to indicate what fields are desired. You need to provide the ordering and punctuation that would be used in your locale.
For example, where a program needs just the month and day, here's what that would look like:
In some languages the month may need be in nominative case if the format does not include a day, and in genitive or a related case if the format does include a day. In such cases the normal approach is to use the stand-alone forms (e.g. LLLL) for nominative month names and the format forms (e.g. MMMM) for genitive month names, then a skeleton such a yMMMM might map to a pattern "LLLL y" while a skeleton such as yMMMMd might map to a pattern "d MMMM y". See notes on Stand-Alone vs Format Styles. Date-Time PatternThe date-time pattern is used to make a date plus time out of separate date and time patterns. It usually doesn't need to be changed, except for removing a space for languages that don't use it, or possibly adding a comma or other punctuation.For example:
There are four formats (full, long, medium, short), but usually these are all the same. The only time they would be different for your language is if there was some special placeholder in the long form, such as "{DATE} 'at' {TIME}" for the long form, so that a formatted date would read like "Friday, December 10, 2010 at 3:59:49 PM Pacific Standard Time". Flexible - AppendThe flexible append format for Timezone is used to compose a a time and a timezone, to get a result like "11:30 Pacific Time". For almost all locales it is just "{0} {1}" (where the {0} will be replaced by the localized time format, and {1} will be replaced by the localized timezone), but some locales change the order, add punctuation, or remove the space. Date/Time IntervalsInterval patterns contain a start pattern and an end pattern (using the Date/Time Symbols). They are used for a range of dates or times, such as "Sept 10–12" (meaning the 10th of September through the 12th of September). The interval format is used where it is necessary to make the pattern as short as possible, and elide information that does not have to be repeated. For example, the pattern used to get "Sept 10–12" in English is "MMM d–d". Unlike simple Date/Time Patterns, these consist of two parts, typically separated by with some kind of punctuation mark, and with some fields in the second part omitted. The way this pattern is used is that the part up to the first repeated field is formatted with the first date, and the remainder is formatted with the second date. The first repeated field is marked with red in the examples below. Interval Formatting
Greatest DifferenceEach combination of fields can be used with dates that differ by different amounts. For example, a format for the fields "yMMMd" (year, abbreviated month, and day) could be used with two dates that differ by year, month, or day. Warning: each type of difference might need a different pattern. For example:
|

