Date and Time in Java
Date and Time in Java – The time at some point in the middle of the program in Java could be captured or time from another source like time-stamp could be stored and processed using the class java.util.Date.
Example 1 – Current Date & Time
In the following program, we print time, to be precise, the system time when executing the statement new Date()
.
DateTimeDemo.java
import java.util.Date; public class DateTimeDemo { public static void main(String[] args) { Date date = new Date(); System.out.println(date.toString()); } }
Output
Mon Mar 27 00:04:46 IST 2017
Some of the methods offered by java.util.Date() class :
java.util.Date().toString()
As we have seen this method in the above program, DateTimeDemo.java, java.util.Date().toString() prints the time in the following format.
dow mon dd hh:mm:ss zzz yyyy dow : Day Of Week mon : Month dd : Day of Month hh : Hour of the day mm : Minute of the hour ss : Second of the minute zzz : TimeZone yyyy: Year
How to call java.util.Date().toString() in your program.
String dateTime = new java.util.Date().toString(); System.out.println(dateTime);
Output
Mon Mar 27 00:04:46 IST 2017
java.util.Date(long value)
This constructor of java.util.Date() class, creates a new Date() object and initializes it to the time “value milliseconds” after 00:00 GMT hours, Jan 1st 1970 or 05:30 IST hours, Jan 1st 1970.
Example 2 – Date(long)
java.util.Date(4752) would initialize the object to 4752( = 4seconds + 752milliseconds) after 00:00 GMT hours, Jan 1st 1970 which is Thu Jan 01 00:00:04 IST 1970
or Thu Jan 01 05:30:04 IST 1970
.
In the following program, we will call java.util.Date() with 4752 passed as argument.
DateTimeDemo.java
import java.util.Date; public class DateTimeDemo { public static void main(String[] args) { Date date1 = new Date(4752L); System.out.println(date1.toString()); } }
Output
Thu Jan 01 05:30:04 IST 1970
java.util.Date().compareTo(Date date)
This method compares if the date is after or before or equals the specified date.
- Negative return value mean that the date is prior to the speicified date.
- Positive return value mean that the speicified date is prior to the date.
- Zero return value mean that the speicified date is same as that of the date, to milliseconds.
Example 3 – Date.compareTo()
In the following example, we have date1 and date2, and we shall try the below cases :
- date1.compareTo(date2);
- date1.compareTo(date2);
- date1.compareTo(date1);
DateTimeDemo.java
import java.util.Date; public class DateTimeDemo { public static void main(String[] args) { Date date1 = new Date(1490554798133L); Date date2 = new Date(1490554855875L); System.out.println("date1 : "+date1.toString()); System.out.println("date2 : "+date2.toString()); System.out.println("\nIs date2 prior to date1 : "+date1.compareTo(date2)); System.out.println("Negative value of date1.compareTo(date2) means the date2 is not prior to date1."); System.out.println("\nIs date1 prior to date2 : "+date2.compareTo(date1)); System.out.println("Positive value of date1.compareTo(date2) means the date2 is prior to date1."); System.out.println("\nIs date1 same as date1 : "+date1.compareTo(new Date(date1.getTime()))); System.out.println("Zero value of date1.compareTo(new Date(date1.getTime())) means the date1 has same time as that of date1, which is by the way evident in this case"); } }
Output
date1 : Mon Mar 27 00:29:58 IST 2017 date2 : Mon Mar 27 00:30:55 IST 2017 Is date2 prior to date1 : -1 Negative value of date1.compareTo(date2) means the date2 is not prior to date1. Is date1 prior to date2 : 1 Positive value of date1.compareTo(date2) means the date2 is prior to date1. Is date1 same as date1 : 0 Zero value of date1.compareTo(new Date(date1.getTime())) means the date1 has same time as that of date1, which is by the way evident in this case
java.util.Date().after(Date date)
This method checks if the Date is after the specified date. If yes, returns a true, else returns a false.
Example 4 – Date.after()
The following program shows the working of method java.util.Date().after(Date date)
DateTimeDemo.java
import java.util.Date; public class DateTimeDemo { public static void main(String[] args) { Date date1 = new Date(1490554798133L); Date date2 = new Date(1490554855875L); System.out.println("date1 : "+date1); System.out.println("date2 : "+date2); System.out.println(); System.out.println("Is date1 after date2 ? "+date1.after(date2)); System.out.println("Is date2 after date1 ? "+date2.after(date1)); } }
Output
date1 : Mon Mar 27 00:29:58 IST 2017 date2 : Mon Mar 27 00:30:55 IST 2017 Is date1 after date2 ? false Is date2 after date1 ? true
java.util.Date().before(Date date)
This method checks if the Date is before the specified date. If yes, returns a true, else returns a false.
Example 5 – Date.before()
The following program shows the working of method java.util.Date().before(Date date)
DateTimeDemo.java
import java.util.Date; public class DateTimeDemo { public static void main(String[] args) { Date date1 = new Date(1490554798133L); Date date2 = new Date(1490554855875L); System.out.println("date1 : "+date1); System.out.println("date2 : "+date2); System.out.println(); System.out.println("Is date1 before date2 ? "+date1.before(date2)); System.out.println("Is date2 before date1 ? "+date2.before(date1)); } }
Output
date1 : Mon Mar 27 00:29:58 IST 2017 date2 : Mon Mar 27 00:30:55 IST 2017 Is date1 before date2 ? true Is date2 before date1 ? false
java.util.Date().equals(Date date)
Returns true if the date is same as the specified date, to milliseconds. Else the method returns false.
Example 6 – Date.equals()
Following is a sample program to show the working of java.util.Date().equals(Date date) method.
DateTimeDemo.java
import java.util.Date; public class DateTimeDemo { public static void main(String[] args) { Date date1 = new Date(1490554798133L); Date date2 = new Date(1490554855875L); Date date3 = new Date(1490554798133L); System.out.println("Is date1 equals date2 ? "+date1.equals(date2)); System.out.println("Is date1 equals date3 ? "+date1.equals(date3)); } }
Output
Is date1 equals date2 ? false Is date1 equals date3 ? true
java.util.Date().clone(Date date) :
The clone method creates a new object, an exact copy of the specified Date.
Example 7 – Date.clone()
In the following example, we shall clone date1 to create a new date2.
DateTimeDemo.java
import java.util.Date; public class DateTimeDemo { public static void main(String[] args) { Date date1 = new Date(1490554798133L); Date date2 = (Date) date1.clone(); System.out.println("Is date1 equals date2 ? "+date1.equals(date2)); } }
Output
Is date1 equals date2 ? true
Conclusion
Concluding this Java Tutorial, Date and Time in Java, we have seen how to create a java.util.Date() object, get the local time from it using toString() method, compare it to an other Date, check if the date is before or after a specified date, if two dates are equal in value.