|
|
Date and Time Formatting |
In the previous section, Using Predefined Formats, we described the formatting styles provided by theDateFormatclass. In most cases, these predefined formats are adequate. However, if you want to create your own customized formats, you'll want to use the SimpleDateFormatclass.
In the text that follows, we'll provide several code examples that demonstrate the methods of the
SimpleDateFormatclass. You can find the full source code for the examples in the file named SimpleDateFormatDemo.java.About Patterns
When you create aSimpleDateFormatobject, you specify a patternString. The contents of the patternStringdetermines the format of the date and time. For a full description of the pattern's syntax, see the tables in the section Date Format Pattern Syntax. We'll show you some sample patterns in the example that follows.In the following lines of code, we specify the pattern
Stringwhen creating theSimpleDateFormatobject, and then invoke theformatmethod. TheStringreturned by theformatmethod contains the formatted date and time, and is ready to be displayed.The following table shows the output generated by the preceeding code example when the U.S.Date today; String output; SimpleDateFormat formatter; formatter = new SimpleDateFormat(pattern, currentLocale); today = new Date(); output = formatter.format(today); System.out.println(pattern + " " + output);Localeis specified:
pattern output dd.MM.yy 09.04.98 yyyy.MM.dd G 'at' hh:mm:ss z 1998.04.09 AD at 06:15:55 PDT EEE, MMM d, ''yy Thu, Apr 9, '98 h:mm a 6:15 PM H:mm 18:15 H:mm:ss:SSS 18:15:55:624 K:mm a,z 6:15 PM,PDT yyyy.MMMMM.dd GGG hh:mm aaa 1998.April.09 AD 06:15 PM Patterns and Locale
TheSimpleDateFormatclass is locale-sensitive. If you instantiateSimpleDateFormatwithout aLocaleparameter, it will format the date and time according to the defaultLocale. Both the pattern and theLocaledetermine the format. For the same pattern,SimpleDateFormatmay format a date and time differently if theLocalevaries.In the example code that follows, the pattern is hardcoded in the statement that creates the
SimpleDateFormatobject:The preceeding code example generates the output that follows. Although the pattern is hardcoded, the resulting date format changes each time we specify a differentDate today; String result; SimpleDateFormat formatter; formatter = new SimpleDateFormat("EEE d MMM yy", currentLocale); today = new Date(); result = formatter.format(today); System.out.println("Locale: " + currentLocale.toString()); System.out.println("Result: " + result);Locale.Locale: fr_FR Result: ven 10 avr 98 Locale: de_DE Result: Fr 10 Apr 98 Locale: en_US Result: Thu 9 Apr 98
|
|
Date and Time Formatting |