Java SimpleDateFormat - Java Date Format
Introduction
Java SimpleDateFormat
and DateFormat
classes are used for date formatting. It is mostly used where we need to display or utilize the date and time functionality of Java. Both of these classes are present in com.text
package.
Java DateFormat
DateFormat
is used for formatting a date intoString
based on specific locale that is provided as input.- The locale is used for specifying the region and language for making the code more locale to the user.
- The way of writing date is different in different regions of the world. For example,
31st Dec 2017
will be written in India as31-12-2017
but the same thing will be written in the United States of America as12-31-2017
.
Patterns
Let us have a look at the pattern syntax that should be used for the formatting pattern.
Letter for Pattern | Date or Time component | Examples |
---|---|---|
G | Era designator | AD |
y | Year | 2018 (yyyy), 18 (yy) |
M | Month in year | July (MMMM), Jul (MMM), 07 (MM) |
w | Results in week in year | 16 |
W | Results in week in month | 3 |
D | Gives the day count in the year | 266 |
d | Day of the month | 09 (dd), 9(d) |
F | Day of the week in month | 4 |
E | Day name in the week | Tuesday, Tue |
u | Day number of week where 1 represents Monday, 2 represents Tuesday and so on | 2 |
a | AM or PM marker | AM |
H | Hour in the day (0-23) | 12 |
k | Hour in the day (1-24) | 23 |
K | Hour in am/pm for 12 hour format (0-11) | 0 |
h | Hour in am/pm for 12 hour format (1-12) | 12 |
m | Minute in the hour | 59 |
s | Second in the minute | 35 |
S | Millisecond in the minute | 978 |
z | Timezone | Pacific Standard Time; PST; GMT-08:00 |
Z | Timezone offset in hours (RFC pattern) | -0800 |
X | Timezone offset in ISO format | -08; -0800; -08:00 |
Some letters should be used in different amount for different results like for month:
Type | Pattern | Example Output |
---|---|---|
Full Month | MMMM | July |
Abbreviated Month | MMM | Jul |
Numeric Month | MM | 07 |
Examples
Let us now look at some examples for different formats of date and time.
Pattern | Result |
---|---|
MM/dd/yyyy | 01/02/2018 |
dd-M-yyyy hh:mm:ss | 02-1-2018 06:07:59 |
dd MMMM yyyy | 02 January 2018 |
dd MMMM yyyy zzzz | 02 January 2018 India Standard Time |
E, dd MMM yyyy HH:mm:ss z | Tue, 02 Jan 2018 18:07:59 IST |
import java.text.*;
import java.util.Date;
public class CompareTwoDatesTest {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdformat = new SimpleDateFormat("dd-MMM-yy");
Date d1 = sdformat.parse("14-NOV-22");
Date d2 = sdformat.parse("12-NOV-22");
System.out.println("The date 1 is: " + sdformat.format(d1));
System.out.println("The date 2 is: " + sdformat.format(d2));
if(d1.compareTo(d2) > 0) {
System.out.println("Date 1 occurs after Date 2");
} else if(d1.compareTo(d2) < 0) {
System.out.println("Date 1 occurs before Date 2");
} else if(d1.compareTo(d2) == 0) {
System.out.println("Both dates are equal");
}
}
}
Post a Comment
0Comments