How to use Java Formatter to format date and time value

Description

%t formats time and date information.

%t specifier requires the use of a suffix to describe the portion and precise format of the time or date desired.

Format List

The time and date suffixes are shown in the following table.

SuffixReplaced By
aAbbreviated weekday name
AFull weekday name
bAbbreviated month name
BFull month name
cStandard date and time string formatted as day month date hh::mm:ss tzone year
CFirst two digits of year
dDay of month as a decimal (01-31)
Dmonth/day/year
eDay of month as a decimal (1-31)
Fyear-month-day
hAbbreviated month name
HHour (00 to 23)
IHour (01 to 12)
jDay of year as a decimal (001 to 366)
kHour (0 to 23)
lHour (1 to 12)
LMillisecond (000 to 999)
mMonth as decimal (01 to 13)
MMinute as decimal (00 to 59)
NNanosecond (000000000 to 999999999)
pLocale's equivalent of AM or PM in lowercase
QMilliseconds from 1/1/1970
rhh:mm:ss (12-hour format)
Rhh:mm (24-hour format)
SSeconds (00 to 60)
sSeconds from 1/1/1970 UTC
Thh:mm:ss (24-hour format)
yYear in decimal without century (00 to 99)
YYear in decimal including century (0001 to 9999)
zOffset from UTC
ZTime zone name

To display minutes, you would use %tM, and M indicates minutes in a two-character field.

The argument corresponding to the %t specifier must be of type Calendar, Date, Long, or long.

Example

The following code shows how to use format('%tB %tb %tm', cal, cal, cal) to display month name and month number.


//from w  w  w . j  a  v a 2 s  . c  o  m
import java.util.Calendar;
import java.util.Formatter;

public class Main {
  public static void main(String args[]) {
    Formatter fmt = new Formatter();
    Calendar cal = Calendar.getInstance();

    // Display month by name and number. 
    fmt = new Formatter(); 
    fmt.format("%tB %tb %tm", cal, cal, cal); 
    System.out.println(fmt); 
  }
}

The output:

Example 2

The following code displays standard 12-hour time format.


import java.util.Calendar;
import java.util.Formatter;
//w ww. jav  a 2 s.  c o  m
public class Main {
  public static void main(String args[]) {
    Formatter fmt = new Formatter();
    Calendar cal = Calendar.getInstance();
    // Display standard 12-hour time format.
    fmt.format("%tr", cal);
    System.out.println(fmt);//
  }
}

The output:

Example 3

The following code uses the %tc to display time and date information in a complete form.


import java.util.Calendar;
import java.util.Formatter;
/*from  w w  w .j a v  a 2  s  . c  o m*/
public class Main {
  public static void main(String args[]) {
    Formatter fmt = new Formatter();
    Calendar cal = Calendar.getInstance();
    // Display complete time and date information.
    fmt = new Formatter();
    fmt.format("%tc", cal);
    System.out.println(fmt);
  }
}

The output:

Example 4

The following code only shows the hour and minute information.


import java.util.Calendar;
import java.util.Formatter;
// w  ww . ja  va 2s .c o m
public class Main {
  public static void main(String args[]) {
    Formatter fmt = new Formatter();
    Calendar cal = Calendar.getInstance();
    // Display just hour and minute.
    fmt = new Formatter();
    fmt.format("%tl:%tM", cal, cal);
    System.out.println(fmt);
  }
}

The output:

Example 5

The following code displays day of month as a decimal.


import java.util.Calendar;
import java.util.Formatter;
/*from   ww  w . java  2  s .c om*/
public class Main {
  public static void main(String args[]) {
    Formatter fmt = new Formatter();
    Calendar cal = Calendar.getInstance();

    fmt.format("Today is day %te of %<tB, %<tY", cal);
    System.out.println(fmt);
  }
}
  

The output:





















Home »
  Java Tutorial »
    Data Format »




Java Formatter
Java Number Formatter