Java tutorial
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.text.spi.DateFormatProvider; import java.util.Date; import java.util.Locale; public class Main { public static void main(String[] args) { Date now = new Date(); DateFormat defaultFormat = DateFormat.getDateTimeInstance(); String defaultString = defaultFormat.format(now); System.out.println("Default : " + defaultString); DateFormat antarcticaFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, new Locale("en", "AQ")); String antarcticaString = antarcticaFormat.format(now); System.out.println("Antarctica: " + antarcticaString); } } class DateFormatProviderImpl extends DateFormatProvider { private Locale ca = new Locale("en", "CA"); public Locale[] getAvailableLocales() { return new Locale[] { ca }; } public DateFormat getTimeInstance(int style, Locale locale) { if (locale.equals(ca)) { return new SimpleDateFormat("HH.mm.ss"); } return null; } public DateFormat getDateTimeInstance(int dateStyle, Locale locale) { if (locale.equals(ca)) { return new SimpleDateFormat("yyyy"); } return null; } public DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) { if (locale.equals(ca)) { return new SimpleDateFormat("yyyy/MM/dd"); } return null; } @Override public DateFormat getDateInstance(int style, Locale locale) { if (locale.equals(ca)) { return new SimpleDateFormat("MM/dd"); } return null; } }