Java兩個時間之間差多少秒和獲取當天時間

* 剩餘時間(秒)
     * [@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點: .net

相關文章
相關標籤/搜索