Sunday, March 4, 2012

How do I format date using a locale based format in android?


The code below demonstrate how to format date information for a specific Locale. In the example utilize the java.text.SimpleDateFormat class.

import java.util.Locale;
import java.util.Date;
import java.text.SimpleDateFormat;

public class FormatDateLocale {
    public static void main(String[] args) {
        //
        // Defines an array of Locale we are going to use for 
        // formatting date information.
        //
        Locale[] locales = new Locale[] {
                Locale.JAPAN,
                Locale.CHINA,
                Locale.KOREA,
                Locale.TAIWAN,
                Locale.ITALY,
                Locale.FRANCE,
                Locale.GERMAN
        };

        // Get an instance of current date time
        Date today = new Date();

        //
        // Iterates the entire Locale defined above and create a long 
        // formatted date using the SimpleDateFormat.getDateInstance() 
        // with the format, the Locale and the date information.
        //
        for (Locale locale : locales) {
            System.out.println("Date format in " 
                + locale.getDisplayName() 
                + " = " 
                + SimpleDateFormat.getDateInstance(
                      SimpleDateFormat.LONG, locale)
                          .format(today).toUpperCase());
        }
    }
}

Below is the ouput.........

Date format in Japanese (Japan) = 2009/01/04
Date format in Chinese (China) = 200914
Date format in Korean (South Korea) = 200914()
Date format in Chinese (Taiwan) = 200914
Date format in Italian (Italy) = 4 GENNAIO 2009
Date format in French (France) = 4 JANVIER 2009
Date format in German = 4. JANUAR 2009

No comments:

Post a Comment