最近做項目用到關於一些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;
}
以上東西是項目中的一些實際應用,也查了一些資料,總結出來分享,共同進步!