package nl.itopia.corendon.utils;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
/**
* © 2014, Biodiscus.net robin
*/
public class DateUtil {
public static final long HOUR_UNIX_TIMESTAMP = 3600;
public static final ZoneId DEFAULT_ZONE = ZoneId.systemDefault();
public static Date getEndOfDTheDay(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(date.getTime());
// Make the time: 23:59:59
calendar.add(Calendar.HOUR, 23);
calendar.add(Calendar.MINUTE, 59);
calendar.add(Calendar.SECOND, 59);
Date newDate = new Date(calendar.getTimeInMillis());
return newDate;
}
public static long dateToTimestamp(Date date) {
return date.toInstant().getEpochSecond();
}
public static Date localDateToDate(LocalDate date) {
Date value;
Instant instant = Instant.from(date.atStartOfDay(DEFAULT_ZONE));
value = Date.from(instant);
return value;
}
public static long getCurrentTimeStamp() {
return System.currentTimeMillis() / 1000;
}
public static String formatDate(String format, long timestamp) {
Date date = timestampToDate(timestamp);
SimpleDateFormat f = new SimpleDateFormat(format);
return f.format(date);
}
/**
* Convert a unix timestamp to a Date object. The date object works with milliseconds while unix timestamps are
* in seconds.
* @param stamp long
* @return Date
*/
public static Date timestampToDate(long stamp) {
return new Date(stamp * 1000);
}
public static String getTimestampDate(long timestamp) {
return formatDate("dd.MM.yyyy", timestamp);
}
}