In this tutorial we will see about using Java Date and Time-stamp interview questions as,
1. Getting current local Date and Time
2. Converting current local Date and Time to GMT Date and Time
3. Convert String to Date and Time
4. Convert Date and Time to String
5. Adding N days with current Date and Time
6. Subtracting N days with current Date and Time
7. Change Date and Time format
8. Calculate difference between 2 Date
9. Compare 2 Dates
Lets start with simple examples for all above question on Java Date and Time. In all examples we will be using
SimpleDateFormat()
parse()
format()
1. Getting current local Date and Time
public class MyDateTimeTest {
public static void main(String[] args) {
Date date = new Date();
System.out.println("Current Date & Time : "+date);
}
}
public static void main(String[] args) {
Date date = new Date();
System.out.println("Current Date & Time : "+date);
}
}
OUTPUT:
Current Date & Time : Sun Mar 17 01:17:30 IST 2013
2. Converting current local Date and Time to GMT Date and Time
public class MyDateTimeTest {
public static void main(String[] args) {
Date date = new Date();
DateFormat gmtFor = new SimpleDateFormat();
TimeZone gmtTime = TimeZone.getTimeZone("GMT");
gmtFor.setTimeZone(gmtTime);
System.out.println("Current Date & Time : "+date.toString());
System.out.println("GMT Time & Date : " + gmtFor.format(date));
}
}
public static void main(String[] args) {
Date date = new Date();
DateFormat gmtFor = new SimpleDateFormat();
TimeZone gmtTime = TimeZone.getTimeZone("GMT");
gmtFor.setTimeZone(gmtTime);
System.out.println("Current Date & Time : "+date.toString());
System.out.println("GMT Time & Date : " + gmtFor.format(date));
}
}
OUTPUT:
Current Date & Time : Sun Mar 17 01:29:09 IST 2013
GMT Date & Time : 3/16/13 7:59 PM
GMT Date & Time : 3/16/13 7:59 PM
3. Convert String to Date and Time
public class MyDateTimeTest {
public static void main(String[] args) {
String myDateTime = "2013-03-17 12:45:56";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date convertedDateTime = df.parse(myDateTime);
System.out.println("DATE : "+df.format(convertedDateTime));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
String myDateTime = "2013-03-17 12:45:56";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date convertedDateTime = df.parse(myDateTime);
System.out.println("DATE : "+df.format(convertedDateTime));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
OUTPUT:
DATE : 2013-03-17 12:45:56
4. Convert Date and Time to String
public class MyDateTimeTest {
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date convertedDateTime = new Date();
String dateInString = df.format(convertedDateTime);
System.out.println("DATE : "+dateInString);
}
}
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date convertedDateTime = new Date();
String dateInString = df.format(convertedDateTime);
System.out.println("DATE : "+dateInString);
}
}
OUTPUT:
DATE : 2013-03-17 02:03:09
5. Adding N days with current Date and Time
public class MyDateTimeTest {
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currentDateTime = new Date();
Date newDate = null;
try {
newDate = df.parse(df.format(currentDateTime));
newDate = addNDays(newDate, 10); // Adding 10 days with current Date
System.out.println("CURRENT DATE : "+df.format(currentDateTime));
System.out.println("DATE AFTER ADDING 10 DAYS : "+df.format(newDate));
} catch (ParseException e) {
e.printStackTrace();
}
}
public static Date addNDays(Date date, int days) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days);
return cal.getTime();
}
}
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currentDateTime = new Date();
Date newDate = null;
try {
newDate = df.parse(df.format(currentDateTime));
newDate = addNDays(newDate, 10); // Adding 10 days with current Date
System.out.println("CURRENT DATE : "+df.format(currentDateTime));
System.out.println("DATE AFTER ADDING 10 DAYS : "+df.format(newDate));
} catch (ParseException e) {
e.printStackTrace();
}
}
public static Date addNDays(Date date, int days) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days);
return cal.getTime();
}
}
OUTPUT:
CURRENT DATE : 2013-03-17 02:17:24
DATE AFTER ADDING 10 DAYS : 2013-03-27 02:17:24
DATE AFTER ADDING 10 DAYS : 2013-03-27 02:17:24
6. Subtracting N days with current Date and Time
public class MyDateTimeTest {
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currentDateTime = new Date();
Date newDate = null;
try {
newDate = df.parse(df.format(currentDateTime));
newDate = addNDays(newDate, 10); // Subtracting 10 days with current Date
System.out.println("CURRENT DATE : "+df.format(currentDateTime));
System.out.println("DATE AFTER SUBTRACTING 10 DAYS : "+df.format(newDate));
} catch (ParseException e) {
e.printStackTrace();
}
}
public static Date addNDays(Date date, int days) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days*-1);
return cal.getTime();
}
}
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currentDateTime = new Date();
Date newDate = null;
try {
newDate = df.parse(df.format(currentDateTime));
newDate = addNDays(newDate, 10); // Subtracting 10 days with current Date
System.out.println("CURRENT DATE : "+df.format(currentDateTime));
System.out.println("DATE AFTER SUBTRACTING 10 DAYS : "+df.format(newDate));
} catch (ParseException e) {
e.printStackTrace();
}
}
public static Date addNDays(Date date, int days) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days*-1);
return cal.getTime();
}
}
OUTPUT:
CURRENT DATE : 2013-03-17 02:20:12
DATE AFTER SUBTRACTING 10 DAYS : 2013-03-07 02:20:12
DATE AFTER SUBTRACTING 10 DAYS : 2013-03-07 02:20:12
7. Change Date and Time format
public class MyDateTimeTest {
public static void main(String[] args) {
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat df2 = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss aa");
Date currentDateTime = new Date();
System.out.println("CURRENT DATE : "+df1.format(currentDateTime));
System.out.println("NEW FORMATED DATE : "+df2.format(currentDateTime));
}
}
public static void main(String[] args) {
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat df2 = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss aa");
Date currentDateTime = new Date();
System.out.println("CURRENT DATE : "+df1.format(currentDateTime));
System.out.println("NEW FORMATED DATE : "+df2.format(currentDateTime));
}
}
OUTPUT:
CURRENT DATE : 2013-03-17 02:25:59
NEW FORMATED DATE : 17/Mar/2013 02:25:59 AM
NEW FORMATED DATE : 17/Mar/2013 02:25:59 AM
8. Calculate difference between 2 Date
public class MyDateTimeTest {
public static void main(String[] args) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String otherDate = "2013-03-15 02:38:45";
Date date1 = new Date();
Date date2 = df.parse(otherDate);
System.out.println("DATE-1 : "+df.format(date1));
System.out.println("DATE-2 : "+df.format(date2));
long diff = date1.getTime() - date2.getTime();
System.out.println("DATE DIFF : "+(diff/ (1000 * 60 * 60)) +" hours");
}
}
public static void main(String[] args) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String otherDate = "2013-03-15 02:38:45";
Date date1 = new Date();
Date date2 = df.parse(otherDate);
System.out.println("DATE-1 : "+df.format(date1));
System.out.println("DATE-2 : "+df.format(date2));
long diff = date1.getTime() - date2.getTime();
System.out.println("DATE DIFF : "+(diff/ (1000 * 60 * 60)) +" hours");
}
}
OUTPUT:
DATE-1 : 2013-03-17 02:38:54
DATE-2 : 2013-03-15 02:38:45
DATE DIFF : 48 hours
DATE-2 : 2013-03-15 02:38:45
DATE DIFF : 48 hours
9. Compare 2 Dates
public class MyDateTimeTest {
public static void main(String[] args) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String otherDate = "2013-03-15 02:38:45";
Date date1 = new Date();
Date date2 = df.parse(otherDate);
System.out.println("DATE-1 : "+df.format(date1));
System.out.println("DATE-2 : "+df.format(date2));
if(date1.compareTo(date2) > 0){
System.out.println("Date-1 is after Date-2");
}else if(date1.compareTo(date2) > 0){
System.out.println("Date-1 is before Date-2");
}else if(date1.compareTo(date2) == 0){
System.out.println("Date-1 is equal to Date-2");
}
}
}
OUTPUT:
DATE-1 : 2013-03-17 02:42:37
DATE-2 : 2013-03-15 02:38:45
Date-1 is after Date-2
public static void main(String[] args) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String otherDate = "2013-03-15 02:38:45";
Date date1 = new Date();
Date date2 = df.parse(otherDate);
System.out.println("DATE-1 : "+df.format(date1));
System.out.println("DATE-2 : "+df.format(date2));
if(date1.compareTo(date2) > 0){
System.out.println("Date-1 is after Date-2");
}else if(date1.compareTo(date2) > 0){
System.out.println("Date-1 is before Date-2");
}else if(date1.compareTo(date2) == 0){
System.out.println("Date-1 is equal to Date-2");
}
}
}
OUTPUT:
DATE-1 : 2013-03-17 02:42:37
DATE-2 : 2013-03-15 02:38:45
Date-1 is after Date-2
No comments:
Write comments