* 剩余时间(秒)
* [@return](https://my.oschina.net/u/556800)
*/
private int calLastedTime() {
int startTime = util.TimeUtil.getNow();
int endTime = util.TimeUtil.getNextDayZero() - 1;
return endTime - startTime;
}
public class TimeUtil {
/**
* 获取当前秒数
*
* [@return](https://my.oschina.net/u/556800)
*/
public static int getNow() {
return (int) (System.currentTimeMillis() / 1000);
}
public static int getNextDayZero() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.add(Calendar.DATE, 1);
return (int) (calendar.getTimeInMillis() / 1000);
}
}
=========
public class DateTimeUtil {
private static Calendar calendar = Calendar.getInstance();
private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
private static byte[] lock = new byte[0];
/**
* 将传入的毫秒按照 月.日 的格式返回
* @param time
* @return
*/
public static String getMonthDay(long time){
synchronized (calendar) {
calendar.setTimeInMillis(time);
int month=calendar.get(Calendar.MONTH)+1;
int day=calendar.get(Calendar.DAY_OF_MONTH);
return month+"."+day;
}
}
/**
* 获取当前秒数的前n天的秒数
* @param now
* @param n
* @return
*/
public static int getNDayInSeconds(int now,int n){
synchronized (calendar) {
calendar.setTimeInMillis(now*1000l);
calendar.add(Calendar.DATE, n);
return (int) (calendar.getTimeInMillis()/1000);
}
}
/**
* format为yyyy-MM-dd
*
* @return
*/
public static String format(Date day) {
synchronized (dateFormat) {
return dateFormat.format(day);
}
}
/**
* format为yyyy-MM-dd
*
* @return
*/
public static String format(Date date, String pattern) {
synchronized (lock) {
DateFormat dateFormat = new SimpleDateFormat(pattern);
if (date == null)
return "";
return dateFormat.format(date);
}
}
/**
* 获取距离目前第n天的时间
*
* @param n
* @return
*/
public static Date getNDate(Date day, int n) {
synchronized (calendar) {
calendar.setTime(day);
calendar.add(Calendar.DATE, n);
return calendar.getTime();
}
}
public static Date getBeginTime(Date day) {
synchronized (calendar) {
calendar.setTime(day);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTime();
}
}
public static Date getEndTime(Date day) {
synchronized (calendar) {
calendar.setTime(day);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
return calendar.getTime();
}
}
public static Date getEndTime(Date day, int n) {
synchronized (calendar) {
calendar.setTime(day);
calendar.add(Calendar.DATE, n);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
return calendar.getTime();
}
}
/**
* @param date
* @return
* @throws ParseException
*/
public static Date parseDate(String date, String reg) {
if (StringUtils.isEmpty(date)) {
return null;
}
try {
DateFormat dateFormat = new SimpleDateFormat(reg);
return dateFormat.parse(date);
} catch (Exception e) {
LOG.error("DateTimeUtil.parseDate exception",e);
return null;
}
}
public static Date setTime(Date nowDay, Date day) {
synchronized (calendar) {
calendar.setTime(nowDay);
Calendar calendar_new = Calendar.getInstance();
calendar_new.setTime(day);
calendar.set(Calendar.HOUR_OF_DAY, calendar_new.get(Calendar.HOUR_OF_DAY));
calendar.set(Calendar.MINUTE, calendar_new.get(Calendar.MINUTE));
calendar.set(Calendar.SECOND,calendar_new.get(Calendar.SECOND));
return calendar.getTime();
}
}
public static int getTodayIntNotSign(){
DateFormat dateFormatNotSign = new SimpleDateFormat("yyyyMMdd");
String dateStr = dateFormatNotSign.format(new Date());
if(StringUtils.isNotBlank(dateStr)){
return Integer.parseInt(dateStr);
}
return 0;
}
/**
* 获取指定日期当天的零点的秒数
*
* @param date
* @return
* @author lichengwu
* @created Sep 13, 2011
*/
public static long toEarlyMorning(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTimeInMillis()/1000;
}
public static long toSomeDay(Date date, int delayDay, int hour) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_YEAR, delayDay);
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTimeInMillis() / 1000;
}
/**
* 返回当前时间的秒数
*
* @return
*/
public static long unixTime() {
return System.currentTimeMillis() / 1000;
}
public static long unixTime(Date date) {
return date.getTime() / 1000;
}
}
获取当天0点: