in Technology by (55.8k points)

Java String Format Examples

1 Answer

0 votes
by (55.8k points)

String Formatting

The most common way of formatting a string in java is using String.format(). If there were a “java sprintf” then this would be it.

String output = String.format("%s = %d", "joe", 35);

For formatted console output, you can use printf() or the format() method of System.out and System.err PrintStreams.

System.out.printf("My name is: %s%n", "joe");

Create a Formatter and link it to a StringBuilder. Output formatted using the format() method will be appended to the StringBuilder.

StringBuilder sbuf = new StringBuilder();

Formatter fmt = new Formatter(sbuf);

fmt.format("PI = %f%n", Math.PI);


// you can continue to append data to sbuf here.

Format Specifiers

Here is a quick reference to all the conversion specifiers supported:


%a floating point (except BigDecimal) Hex output of floating point number

%f floating point decimal number

%g floating point decimal number, possibly in scientific notation depending on the precision and value.

%b Any type “true” if non-null, “false” if null

%c character Unicode character

%n none Platform-specific line separator.

%o integer (incl. byte, short, int, long, bigint) Octal number

%s any type String value

%t Date/Time (incl. long, Calendar, Date and TemporalAccessor)

%t      is the prefix for Date/Time conversions. More formatting flags are needed after this. 

%d integer (incl. byte, short, int, long, bigint) Decimal Integer

%e floating point decimal number in scientific notation

%h any type Hex String of value from hashCode() method.

%x integer (incl. byte, short, int, long, bigint)

Hex string.

Date and Time Formatting

Note: Using the formatting characters with “%T” instead of “%t” in the table below makes the output uppercase.


%td Day of the month formatted with two digits. e.g. “01” to “31“.

%tc Date and time formatted with “%ta %tb %td %tT %tZ %tY” e.g. “Fri Feb 17 07:45:42 PST 2017“

%tD Date formatted as “%tm/%td/%ty“

%te Day of the month formatted without a leading 0 e.g. “1” to “31”.

%tF ISO 8601 formatted date with “%tY-%tm-%td“.

%tH Hour of the day for the 24-hour clock e.g. “00” to “23“.

%th Same as %tb.

%tI Hour of the day for the 12-hour clock e.g. “01” – “12“.

%tj Day of the year formatted with leading 0s e.g. “001” to “366“.

%tk Hour of the day for the 24 hour clock without a leading 0 e.g. “0” to “23“.

%tl Hour of the day for the 12-hour click without a leading 0 e.g. “1” to “12“.

%tM Minute within the hour formatted a leading 0 e.g. “00” to “59“.

%tm Month formatted with a leading 0 e.g. “01” to “12“.

%tN Nanosecond formatted with 9 digits and leading 0s e.g. “000000000” to “999999999”.

%tp Locale specific “am” or “pm” marker.

%tA Full name of the day of the week, e.g. “Sunday“, “Monday“

%ta Abbreviated name of the week day e.g. “Sun“, “Mon“, etc.

%tB Full name of the month e.g. “January“, “February“, etc.

%tb Abbreviated month name e.g. “Jan“, “Feb“, etc.

%tC Century part of year formatted with two digits e.g. “00” through “99”.

%tQ Milliseconds since epoch Jan 1 , 1970 00:00:00 UTC.

%tR Time formatted as 24-hours e.g. “%tH:%tM“.

%tr Time formatted as 12-hours e.g. “%tI:%tM:%tS %Tp“.

%tS Seconds within the minute formatted with 2 digits e.g. “00” to “60”. “60” is required to support leap seconds.

%ts Seconds since the epoch Jan

Related questions

0 votes
asked Apr 2 in Education by JackTerrance (1.8m points)