• 轮子:DateUtil.java


    日期工具类

    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateUtil {
    	
    	public static final String DATE = "yyyy/MM/dd";
    	
    	public static final String Date = "yyyy-MM-dd";
    	
    	public static final String TIME = "HH:mm:ss";
    	
    	public static final String DATE_TIME = "yyyy/MM/dd HH:mm:ss";
    	
    	public static final String Date_TIME = "yyyy-MM-dd HH:mm:ss";
    	
    	public static final String DateTime = "yyyyMMddHHmmss";
    	
    	/**
    	 * 自定义时间格式化
    	 * @param date
    	 * @param simpleDateFormat
    	 * @return
    	 */
    	public static String customFormat(Date date, String simpleDateFormat){
    		SimpleDateFormat sdf = new SimpleDateFormat(simpleDateFormat);
    		return sdf.format(date);
    	}
    	
    	/**
    	 * 获取当前时间  yyyy-MM-dd HH:mm:ss
    	 * @return 字符类型时间
    	 */
    	public static String nowFormatStr(){
    		return customFormat(new Date(), Date_TIME);
    	}
    	
    	/**
    	 * 获取当前时间  yyyyMMddHHmmss
    	 * @return 字符类型时间
    	 */
    	public static String nowFormatStrTwo(){
    		return customFormat(new Date(), DateTime);
    	}
    	
    	/**
    	 * 判断日期大小
    	 * 前者小 返回-1
    	 * 前者大 返回1
    	 * 相等 返回0
    	 * @param date1
    	 * @param date2
    	 * @return
    	 */
    	public static int compareTo(Date date1, Date date2){
    		return date1.compareTo(date2);
    	}
    	
    	/**
    	 * 判断与当前时间戳的相差的毫秒数
    	 * @return
    	 */
    	public static long timestampDifferByNow(long timestamp){
    		long millis = System.currentTimeMillis();
    		return Math.abs(timestamp-millis);
    	}
    	
    	/**
    	 * 判断指定的时间戳与当前时间是否超时
    	 * @param timestamp
    	 * @param second 在有效期内的秒数
    	 * @return
    	 */
    	public static boolean judgeTimeOutBySecond(long timestamp, long second){
    		long differ = timestampDifferByNow(timestamp);
    		return differ/1000 >= second;
    	}
    	
    	/**
    	 * 判断指定的时间戳与当前时间是否超时
    	 * @param timestamp
    	 * @param MS 毫秒
    	 * @return
    	 */
    	public static boolean judgeTimeOutByMS(long timestamp, long MS){
    		long differ = timestampDifferByNow(timestamp);
    		return differ >= MS;
    	}
    	
    	/**
    	 * 获取两个Date之间相差的天数
    	 * @param begintime
    	 * @param endtime
    	 * @return
    	 */
    	public static Double getDaysDiffer(Date begintime, Date endtime) {
    		long time01 = begintime.getTime();
    		long time02 = endtime.getTime();
    		long diff = Math.abs(time01 - time02)/1000;
    		return diff / 86400.0;
    	}
    	
    	/**
    	 * 获取两个Date之间相差的天数(向上取整)
    	 * @param begintime
    	 * @param endtime
    	 * @return
    	 */
    	public static Integer getDaysCeilDiffer(Date begintime, Date endtime) {
    		Double days = getDaysDiffer(begintime, endtime);
    		return Double.valueOf(Math.ceil(days)).intValue();
    	}
    	
    	/**
    	 * 获取两个Date之间相差的天数(向下取整)
    	 * @param begintime
    	 * @param endtime
    	 * @return
    	 */
    	public static Integer getDaysFloorDiffer(Date begintime, Date endtime) {
    		Double days = getDaysDiffer(begintime, endtime);
    		return Double.valueOf(Math.floor(days)).intValue();
    	}
    	
    }
    

    记录快速开发所需的轮子,保持更新中

    入我相思门,知我相思苦, 长相思兮长相忆,短相思兮无穷极, 早知如此绊人心,何如当初莫相识。
  • 相关阅读:
    select、poll、epoll之间的区别总结[整理]
    IO多路复用之epoll总结
    IO多路复用之select总结
    recv send 阻塞和非阻塞
    undefined reference to `pthread_create' collect2: ld returned 1 exit status
    网络编程 recv()函数
    strlen("汉字")的值是多少
    PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯
    poj1651 Multiplication Puzzle
    poj2240 Arbitrage
  • 原文地址:https://www.cnblogs.com/banmoon/p/13356350.html
Copyright © 2020-2023  润新知