import java.util.Date;
import java.text.DateFormat;

public class DateFormat1 {

    private static void prt() {
        System.out.println();
    }
    private static void prt(String s) {
        System.out.println(s);
    }

    public static void main(String[] args) {

        //To create a Date object for the current date and time 

        prt("Current date and time");
        prt("======================================================================");
        Date now = new Date();
        prt("new Date(): " + now);                              //now.toString()
        prt();

        datePrint(now);                                         //call the datePrint method blow

    }

    //--------------------------------------------------------------------------------------------------
    //Convert and Print a Date object using DateFornat
    //--------------------------------------------------------------------------------------------------
    public static void datePrint(Date d)
    {
        prt("Convert Date object into predefined strings using DateFormat");
        prt("======================================================================");
        DateFormat pattern;
        String     s;

        pattern = DateFormat.getInstance();                             //format: m/d/yy h:mm AM
        s       = pattern.format(d);
        prt("Using getInstance()...........: " + s);

        pattern = DateFormat.getDateInstance();                         //format: mth d, yyyy
        s       = pattern.format(d);
        prt("Using getDateInstance().......: " + s);
        pattern = DateFormat.getDateInstance(DateFormat.SHORT);         //format: m/d/yy 
        s       = pattern.format(d);
        prt("Using getDateInstance(SHORT)..: " + s);
        pattern = DateFormat.getDateInstance(DateFormat.MEDIUM);        //format: mth d, yyyy
        s       = pattern.format(d);
        prt("Using getDateInstance(MEDIUM).: " + s);
        pattern = DateFormat.getDateInstance(DateFormat.LONG);          //format: month d, yyyy
        s       = pattern.format(d);
        prt("Using getDateInstance(LONG)...: " + s);
        pattern = DateFormat.getDateInstance(DateFormat.FULL);          //format: day, month d, yyyy
        s       = pattern.format(d);
        prt("Using getDateInstance(FULL)...: " + s);

        pattern = DateFormat.getTimeInstance();                         //format: h:mm:ss AM
        s       = pattern.format(d);
        prt("Using getTimeInstance().......: " + s);
        pattern = DateFormat.getTimeInstance(DateFormat.SHORT);         //format: h:mm AM
        s       = pattern.format(d);
        prt("Using getTimeInstance(SHORT)..: " + s);
        pattern = DateFormat.getTimeInstance(DateFormat.MEDIUM);        //format: h:mm:ss AM
        s       = pattern.format(d);
        prt("Using getTimeInstance(MEDIUM).: " + s);
        pattern = DateFormat.getTimeInstance(DateFormat.LONG);          //format: h:mm:ss AM TZ
        s       = pattern.format(d);
        prt("Using getTimeInstance(LONG)...: " + s);
        pattern = DateFormat.getTimeInstance(DateFormat.FULL);          //format: h:mm:ss AM TZ
        s       = pattern.format(d);
        prt("Using getTimeInstance(FULL)...: " + s);

        prt();
    }       
}