
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Date Formatting Using printf
Date and time formatting can be done very easily using the printf method. You use a two-letter format, starting with t and ending in one of the letters of the table as shown in the following code.
Example
import java.util.Date; public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display time and date String str = String.format("Current Date/Time : %tc", date ); System.out.printf(str); } }
This will produce the following result −
Output
Current Date/Time : Sat Dec 15 16:37:57 MST 2012
It would be a bit silly if you had to supply the date multiple times to format each part. For that reason, a format string can indicate the index of the argument to be formatted.
The index must immediately follow the % and it must be terminated by a $.
Example
import java.util.Date; public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display time and date System.out.printf("%1$s %2$tB %2$td, %2$tY", "Due date:", date); } }
This will produce the following result −
Output
Due date: February 09, 2004
Alternatively, you can use the < flag. It indicates that the same argument as in the preceding format specification should be used again.
Example
import java.util.Date; public class DateDemo { public static void main(String args[]) { // Instantiate a Date object Date date = new Date(); // display formatted date System.out.printf("%s %tB %<te, %<tY", "Due date:", date); } }
This will produce the following result −
Output
Due date: February 09, 2004
Date and Time Conversion Characters
Character |
Description |
Example |
---|---|---|
c |
Complete date and time |
Mon May 04 09:51:52 CDT 2009 |
F |
ISO 8601 date |
2004-02-09 |
D |
U.S. formatted date (month/day/year) |
02/09/2004 |
T |
24-hour time |
18:05:19 |
r |
12-hour time |
06:05:19 pm |
R |
24-hour time, no seconds |
18:05 |
Y |
Four-digit year (with leading zeroes) |
2004 |
y |
Last two digits of the year (with leading zeroes) |
04 |
C |
First two digits of the year (with leading zeroes) |
20 |
B |
Full month name |
February |
b |
Abbreviated month name |
Feb |
m |
Two-digit month (with leading zeroes) |
02 |
d |
Two-digit day (with leading zeroes) |
03 |
e |
Two-digit day (without leading zeroes) |
9 |
A |
Full weekday name |
Monday |
a |
Abbreviated weekday name |
Mon |
j |
Three-digit day of the year (with leading zeroes) |
069 |
H |
Two-digit hour (with leading zeroes), between 00 and 23 |
18 |
k |
Two-digit hour (without leading zeroes), between 0 and 23 |
18 |
I |
Two-digit hour (with leading zeroes), between 01 and 12 |
06 |
l |
Two-digit hour (without leading zeroes), between 1 and 12 |
6 |
M |
Two-digit minutes (with leading zeroes) |
05 |
S |
Two-digit seconds (with leading zeroes) |
19 |
L |
Three-digit milliseconds (with leading zeroes) |
047 |
N |
Nine-digit nanoseconds (with leading zeroes) |
047000000 |
P |
Uppercase morning or afternoon marker |
PM |
p |
Lowercase morning or afternoon marker |
pm |
z |
RFC 822 numeric offset from GMT |
-0800 |
Z |
Time zone |
PST |
s |
Seconds since 1970-01-01 00:00:00 GMT |
1078884319 |
Q |
Milliseconds since 1970-01-01 00:00:00 GMT |
1078884319047 |