Date and time formatting

This section talks about the date and time formatting for globalization.

About this task

Date formatting

The date format presents the day, month, and year of a particular calendar system. Even when one specific calendar system is considered, there is no single world wide standard for the presentation of date information. Different languages represent dates in different ways. The following table lists some of the date formats used:

Locale Common format Long format Short format
United States English 04/10/98 April 10, 1998 04/10/98
Simplified Chinese 1998Year4Month10Day 1998Year4Month10Day 98-4-10
French 10/04/1998 10 avril 1998 10/04/98
German 10.4.98 10. April 1998 10.04.98
Polish 10.04.1998 10 April 1998 10.04.98
Romanian 10.4.1998 10 April 1998 10.4.98
Russian 10.04.1998 10 April 1998 10.04.98

The following are the elements of the date format that make the date unique in different regions of the world:

Elements Description
Date delimiter Delimiters in date representation differ around the world. The following are some examples of delimiters used in dates:
  • Space
  • Hyphen
  • Forward slash
  • Period (Full stop)
Order of date components The order of the day, month, and year differs around the world.
Day format A zero may fill in the day if it is a single-digit day.
Month format The month may be numeric, abbreviated, or fully spelled out.
Year format The year format may have 2 digits or 4 digits.

In HCL Commerce, either the long format or short format is usually used. Using the HCL Commerce Tools Framework Calendar UI element, developers can display a calendar to the user and allow them to graphically or manually enter a date. This date is then returned to the calling window and placed in the correct field. The user's input is presented in text boxes. Because those text boxes have labels attached to them, there is no ambiguity in identifying which numbers are the year, month, and day respectively. As a result, cultural formatting is not required. The following figure displays an example of an embedded calendar in HCL Commerce:

An example of an embedded calendar in HCL Commerce

Time format

The formats used for time differ around the world. Even though a software product may manipulate time information using a Timestamp , it should display time information to, and accept time information from, the user in the correct cultural context.

The following table lists some of the time formats used:

Locale Common format Long format Short format
United States English 2:45:16 PM 2:45:16 PM EST 2.45 PM
Simplified Chinese 14:45:16 14hour45min16sec 14:45
French 14:45:16 14:45:16 14:45
German 14:45:16 14:45:16 14:45
Polish 14:45:16 14:45:16 14:45
Romanian 14:45:16 14:45:16 14:45
Russian 14:45:16 14:45:16 14:45

The following are the elements of the time format that make the time format unique in different regions of the world:

Elements Description
Delimiter Colon or period (Full stop)
Format Some countries display the leading zero in hours.
24-hour clock Some countries use the 24-hour clock, while others such as the USA use the 12-hour clock with indicators AM/PM.

In the HCL Commerce Tools Framework, the functions used to validate dates are included in the web/JavaScript/tools/common/DateUtil.js JavaScript file. Ensure this file is included in your JSP files.

Always give the user the option to launch a calendar UI element. If users enter the date manually, use the validDate (date) inside the DateUtil.js JavaScript file. The validTime() function is in the Util.js JavaScript file.

In HCL Commerce, the TimestampHelper class provides time and date formatting functions that are required by the HCL Commerce tools and store development.

The TimestampHelper() class is available in both com.ibm.commerce.utils (for tools framework) and com.ibm.commerce.ejb.helpers (for server runtime) packages to help perform the conversions described in the following table:

From To
Timestamp Date in yyyy-mm-dd
Timestamp Time in hh:mm
Date and time Timestamp

For example, TimestampHelper.getDateFromTimestamp(Timestamp t,Locale locale) extracts the date portion from the timestamp. The date is returned in a locale-specific manner.

Most of the HCL Commerce data beans are enabled to implicitly use the date or time formatting functionality of the TimestampHelper. The following example describes one such data bean:


<%@page import="com.ibm.commerce.utils.TimestampHelper"%>
...
...
Timestamp currentTime = TimestampHelper.getCurrentTime();
String date = (String)
TimestampHelper.getDateFromTimestamp(currentTime, ${locale});
...
...