Recently I came across this problem in one of my project.
Since this is a commonly used lib so I will just keep it here for future reference.
Based on Java™ Platform Standard Ed. 7
Now to compatible with java.sql.Date, we use constructor Date(long date) which takes a milliseconds time value. (milliseconds since January 1, 1970, 00:00:00 GMT not to exceed the milliseconds representation for the year 8099). The other constructor Date(int year, int month, int day) is deprecated.
Create a new Date with current time
Date date = new Date(System.currentTimeMillis());
Get formatted Date object
TimeZone tz = TimeZone.getTimeZone("UTC");
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
format.setTimeZone(tz);
return format.parse(dateString);
| Letter | Date or Time Component | Presentation | Examples |
|---|---|---|---|
G |
Era designator | Text | AD |
y |
Year | Year | 1996; 96 |
Y |
Week year | Year | 2009; 09 |
M |
Month in year | Month | July; Jul; 07 |
w |
Week in year | Number | 27 |
W |
Week in month | Number | 2 |
D |
Day in year | Number | 189 |
d |
Day in month | Number | 10 |
F |
Day of week in month | Number | 2 |
E |
Day name in week | Text | Tuesday; Tue |
u |
Day number of week (1 = Monday, …, 7 = Sunday) | Number | 1 |
a |
Am/pm marker | Text | PM |
H |
Hour in day (0-23) | Number | 0 |
k |
Hour in day (1-24) | Number | 24 |
K |
Hour in am/pm (0-11) | Number | 0 |
h |
Hour in am/pm (1-12) | Number | 12 |
m |
Minute in hour | Number | 30 |
s |
Second in minute | Number | 55 |
S |
Millisecond | Number | 978 |
z |
Time zone | General time zone | Pacific Standard Time; PST; GMT-08:00 |
Z |
Time zone | RFC 822 time zone | -0800 |
X |
Time zone | ISO 8601 time zone | -08; -0800; -08:00 |