Java provides the Date class,Calendar class available in java.util package, this class encapsulates the current date and time.
Java 1.8 supports Date Time API which contains LocalDate ,Month, ZoneId, Instant, DateTimeFormatter, Period,Duration and many more in java.time package.
Demonstration on time util for java developers. this blog contains list of methods.
1)adding years,months,days,hours,minutes,seconds to current date
2)converting date of one format to another
3)parsing date
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.time.LocalDate;
import java.time.Month;
import java.time.ZoneId;
public class TimeUtil {
java.util.Date date = new java.util.Date();
java.sql.Timestamp currentdate = new java.sql.Timestamp(date.getYear(),
date.getMonth(), date.getDate(), date.getHours(),
date.getMinutes(), date.getSeconds(), 0);
/**
* add years for current date
*
* @param addyears
* @return
*/
public Timestamp addyearsfromnow(int addyears) {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(currentdate.getTime());
cal.add(Calendar.YEAR, addyears);
Timestamp later = new Timestamp(cal.getTime().getTime());
return later;
}
/**
* add months for current date
*
* @param addmonths
* @return
*/
public Timestamp addmonthsfromnow(int addmonths) throws Exception {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(currentdate.getTime());
cal.add(Calendar.MONTH, addmonths);
Timestamp later = new Timestamp(cal.getTime().getTime());
return later;
}
/**
* add days for current date
*
* @param adddays
* @return
*/
public Timestamp adddaysfromnow(int adddays) throws Exception {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(currentdate.getTime());
cal.add(Calendar.DATE, adddays);
Timestamp later = new Timestamp(cal.getTime().getTime());
return later;
}
/**
* add hours for current date
*
* @param addhours
* @return
*/
public Timestamp addhoursfromnow(int addhours) {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(currentdate.getTime());
cal.add(Calendar.HOUR, addhours);
Timestamp later = new Timestamp(cal.getTime().getTime());
return later;
}
/**
* add minutes for current date
*
* @param addminute
* @return
*/
public Timestamp addminutefromnow(int addminutes) {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(currentdate.getTime());
cal.add(Calendar.MINUTE, addminutes);
Timestamp later = new Timestamp(cal.getTime().getTime());
return later;
}
/**
* add seconds for current date
*
* @param addseconds
* @return
*/
public Timestamp addsecondfromnow(int addseconds) {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(currentdate.getTime());
cal.add(Calendar.SECOND, addseconds);
Timestamp later = new Timestamp(cal.getTime().getTime());
return later;
}
/**
* format Timestamp by SimpleDateFormat to string
*
* @param date
* @param dateformat
* @return
*/
public String format(Timestamp date, String dateformat) {
DateFormat formatter = new SimpleDateFormat(dateformat);
String dateinstring = formatter.format(date);
return dateinstring;
}
/**
* format Date by SimpleDateFormat to string
*
* @param date
* @param dateformat
* @return
*/
public String format(Date date, String dateformat) {
DateFormat formatter = new SimpleDateFormat(dateformat);
String dateinstring = formatter.format(date);
return dateinstring;
}
/**
* convert Timestamp to string
*
* @param date
* @param dateformat
* @return
*/
public Timestamp StringtoTimestamp(String string) {
Timestamp ts = Timestamp.valueOf(string);
return ts;
}
/**
* convert java date string to string sql Timestamp by string formatter
*
* @param dateString
* @param formatter
* @return
* @throws ParseException
*/
public static java.sql.Timestamp convertJavaDateToSqlTimestamp(
String dateString, String formatter) throws ParseException {
DateFormat format = new SimpleDateFormat(formatter);
Date dateutil = null;
dateutil = format.parse(dateString);
int year = dateutil.getYear();
int month = dateutil.getMonth();
int day = dateutil.getDate();
int hour = dateutil.getHours();
int minute = dateutil.getMinutes();
int second = dateutil.getSeconds();
java.sql.Timestamp timestamp = new java.sql.Timestamp(year, month, day,
hour, minute, second, 0);
return timestamp;
}
/**
* convert java date string to string sql date
*
* @param dateString
* @param formatter
* @return
* @throws ParseException
*/
public static java.sql.Date fromJavaDateToSqlDate(String dateString,
String formatter) throws ParseException {
DateFormat format = new SimpleDateFormat(formatter);
Date dateutil = null;
dateutil = format.parse(dateString);
Calendar cal = Calendar.getInstance();
cal.setTime(dateutil);
java.sql.Date date = new java.sql.Date(cal.getTime().getTime());
return date;
}
/**
* parse date by different format
*
* @param dateString
* @return
*/
public Date parse(String dateString) {
String[] formatStrings = "yyyy-MM-dd hh:mm:ss,yyyy-MM-dd hh:mm,yyyy-MM-dd hh,MM/dd/yyyy hh:mm:ss,MM/dd/yyyy hh:mm,MM/dd/yyyy hh"
.split(",");
for (String formatString : formatStrings) {
try {
return new SimpleDateFormat(formatString).parse(dateString);
} catch (ParseException e) {
System.out.println("not able to parse by this format::"
+ formatString);
}
}
return null;
}
/**
* parse by specific format
*
* @param dateString
* @param format
* @return
* @throws ParseException
*/
public Date parse(String dateString, String format) throws ParseException {
return new SimpleDateFormat(format).parse(dateString);
}
/**get todaydate .this work in java 1.8
*
* @return
*/
public Date gettodaydate(){
LocalDate today = LocalDate.now();
return today;
}
/**get todaydate by zoneid .this work in java 1.8
*
* @return
*/
public Date gettodaydatebylocale(){
LocalDate Kolkatadate = LocalDate.now(ZoneId.of("Asia/Kolkata"));
return Kolkatadate;
}
}