最近做项目用到关于一些date类型的数据处理,比如说两个日期比较、获取几天前或几天后的日期(请看之前的文章)、获取几分钟之间的日期、前端JS页面的日期处理等等。查了很多资料,有些请的不是很清楚,特别是日期类型的大小比较,需要转来转去。废话不多说,现在开始分享:
一、两个日期之间的比较()
此处需要特别注意,开始我一直以为字符串之间的比较也会返回固定值 比如说大于返回 1 ,小于返回 -1,其实不然,看了源码才明白。字符串比较大于的话会返回正整数,小于会返回负整数,话不多说,先看测试代码
public static void main(String[] args) {
//获取当前时间1天后的日期
Date tommorrow = DateUtil.getDayOffDate(1, new Date());
Date now = new Date();
Date now1 = new Date();
int a =tommorrow.compareTo(now); //明天是否大于当前时间 返回 1
int b = now.compareTo(tommorrow); //现在是否大于明天 返回 -1
int c = now.compareTo(now1); //相等返回 0
String dateStr = "2016-09-09 15:55:22";
System.out.println("dateStr:"+dateStr.compareTo("2016-08-09 15:55:22"));
}
这里使用Calendar中的add方法,增加了以后需要把beforeTime转换成Date类型,因为类型不匹配,这里没有太多的解释,直接上代码(获取5分钟之前的数据)
Calendar beforeTime = Calendar.getInstance();
beforeTime.add(Calendar.MINUTE, -5);
Date dateTime = beforeTime.getTime();
三、前端 JS中获取日期
不用太多解释,直接看代码。输出结果为 : yyyy-MM-dd。如果需要获取时分秒,可自我完善
function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = dd.getMonth()+1;//获取当前月份的日期
var d = dd.getDate();
return y+"-"+m+"-"+d;
}
以上东西是项目中的一些实际应用,也查了一些资料,总结出来分享,共同进步!