Internationalizing Date (I18N with Date)

The format of the dates differ from one region to another that is why we internationalize the dates.

We can internationalize the date by using the getDateInstance() method of the DateFormat class. It receives the locale object as a parameter and returns the instance of the DateFormat class.

Commonly used methods of DateFormat class for internationalizing date

There are many methods of the DateFormat class. Let's see the two methods of the DateFormat class for internationalizing the dates.

  • public static DateFormat getDateInstance(int style, Locale locale) returns the instance of the DateFormat class for the specified style and locale. The style can be DEFAULT, SHORT, LONG etc.
  • public String format(Date date) returns the formatted and localized date as a string.

Example of Internationalizing Date

In this example, we are displaying the date according to the different locale such as UK, US, FRANCE etc. For this purpose we have created the printDate() method that receives Locale object as an instance. The format() method of the DateFormat class receives the Date object and returns the formatted and localized date as a string.

import java.text.DateFormat;
import java.util.*;
public class InternationalizationDate {
static void printDate(Locale locale){
DateFormat formatter=DateFormat.getDateInstance(DateFormat.DEFAULT,locale);
Date currentDate=new Date();
String date=formatter.format(currentDate);
System.out.println(date+" "+locale);

public static void main(String[] args) {
Output:01-Mar-2012 en_GB Mar 1, 2012 en_US 1 mars 2012 fr_FR
Related Tutorial
Follow Us #