How do I format a date-time value?

In the DateFormat class there are some predefined constants that we can use to format a date time value. Here is an example of it.

package org.kodejava.example.text;

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

public class DefaultDateFormatExample {
    public static void main(String[] args) {
        Date date = new Date();

        // Format date in a short format
        String today = DateFormat.getDateTimeInstance(DateFormat.SHORT,
        System.out.println("Today " + today);

        // Format date in a medium format
        today = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
        System.out.println("Today " + today);

        // Format date in a long format
        today = DateFormat.getDateTimeInstance(DateFormat.LONG,
        System.out.println("Today " + today);

And you’ll see the result as follow:

Today 12/2/07 8:17 AM
Today Dec 2, 2007 8:17:09 AM
Today December 2, 2007 8:17:09 AM ICT