Home | Download | PDF | API | FAQ | Search | Feedback | History

> ## Date and Number Formatting

> Java programs use the `DateFormat.getDateInstance(int,` `locale)` to parse and format dates in a locale-sensitive manner. Java programs use the `NumberFormat.get` `XXX` `Instance(locale)` method, where `XXX` can be `Currency`, `Number`, or `Percent`, to parse and format numerical values in a locale-sensitive manner. The servlet version of Duke's Bookstore uses the currency version of this method to format book prices.

> JSTL applications use the `fmt:formatDate` and `fmt:parseDate` tags to handle localized dates and use the `fmt:formatNumber` and `fmt:parseNumber` tags to handle localized numbers, including currency values. For information on the JSTL formatting tags, see Formatting Tags (page 186). The JSTL version of Duke's bookstore uses the `fmt:formatNumber` tag to format book prices and the `fmt:formatDate` tag to format the ship date for an order:

>     <fmt:formatDate value="${shipDate}" type="date"
>       dateStyle="full"/>.

> The JavaServer Faces version of Duke's Bookstore uses date/time and number converters to format dates and numbers in a locale-sensitive manner. For example, the same shipping date is converted in the JavaServer Faces version as follows:

>     <h:outputText value="#{cashier.shipDate}">
>       <f:convertDateTime dateStyle="full"/>
>     </h:outputText>

> For information on JavaServer Faces converters, see Using the Standard Converters (page 349).