| 
  
 
 
 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;
 }
 }
 
 
 
 
 |