1. IE瀏覽器new Date();的坑
var thisDate=new Date("yyyy-MM-dd HH:mm:ss");//此方式IE不支援
var thisDate=new Date("yyyy/MM/dd HH:mm:ss");//此語法支援IE
複製程式碼
2. 比較兩個日期的大小。例:2019-3-19
//比較兩個日期大小
function dateCompare(startDate,endDate){
var aStart=startDate.split('-'); //轉成成陣列,分別為年,月,日,下同
var aEnd=endDate.split('-');
var startDateTemp = aStart[0]+"/" + aStart[1]+ "/" + aStart[2];
var endDateTemp = aEnd[0] + "/" + aEnd[1] + "/" + aEnd[2];
if (startDateTemp > endDateTemp)
return true;
else
return false;
}
複製程式碼
3. 計算兩個日期之間的天數
function dateDiff(date1, date2){
var type1 = typeof date1, type2 = typeof date2;
if(type1 == 'string')
date1 = stringToTime(date1);
else if(date1.getTime)
date1 = date1.getTime();
if(type2 == 'string')
date2 = stringToTime(date2);
else if(date2.getTime)
date2 = date2.getTime();
return (date2 - date1) / 1000 / 60 / 60 / 24;//除1000是毫秒,不加是秒
}
//字串轉成Time(dateDiff)所需方法
function stringToTime(string){
var f = string.split(' ', 2);
var d = (f[0] ? f[0] : '').split('-', 3);
var t = (f[1] ? f[1] : '').split(':', 3);
return (new Date(
parseInt(d[0], 10) || null,
(parseInt(d[1], 10) || 1)-1,
parseInt(d[2], 10) || null,
parseInt(t[0], 10) || null,
parseInt(t[1], 10) || null,
parseInt(t[2], 10) || null)).getTime();
}
複製程式碼
4. 顯示當前系統日期(跑起來的時間)
function showtime() {
// 獲取當前時間物件
var day = new Date();
var yeas = day.getFullYear();// 獲取年份
var month = day.getMonth();// 獲取月份,值在0--11之間
var days = day.getDate();// 獲取每個月的第幾天
var hours = day.getHours();// 獲取當前的小時
var minutes = day.getMinutes();// 獲取當前的分鐘
var seconds = day.getSeconds();// 獲取當前的時間秒
var week = day.getDay();// 獲取當前的星期值在0--6之間
// alert(week);
var weeks = null;
if (week == 1) {
weeks = "星期一";
} else if (week == 2) {
weeks = "星期二";
} else if (week == 3) {
weeks = "星期三";
} else if (week == 4) {
weeks = "星期四";
} else if (week == 5) {
weeks = "星期五";
} else if (week == 6) {
weeks = "星期六";
} else if (week == 0) {// 0代表的是星期天
weeks = "星期天";
}
// 將日期顯示在前臺
$("#clock").text(yeas + "年" + (month + 1) + "月" + days + "日" + hours + ":" + minutes+ ":" + seconds + "\t\t\t" + weeks);
}
複製程式碼
$(function() {
showtime();
// 呼叫時間函式,每一秒鐘呼叫一次
setInterval("showtime()", 1000);
});
複製程式碼
5:格式化當前系統時間
Date.prototype.format = function(format){
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) {
format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
}
}
return format;
}
//返回當前年月日格式為:2016-04-08而不是2016-4-8
new Date().format.("yyyy-MM-dd");
複製程式碼
6. 計算兩個日期相差分鐘數
// 兩個日期之間的分鐘數
function calcDateMinute(startDate,endDate){
var newDate = new Date(endDate).getTime() - new Date(startDate).getTime();
return Math.ceil(newDate / 1000 / 60);
}
複製程式碼