//+---------------------------------------------------
//| 得到 YYYY-MM-DD HH:MM:SS 格式的日期
//+---------------------------------------------------
function getDateTimeStr(d){
var date ;
if(d)
date = new Date(d);
else
date = new Date();
var month = date.getMonth() + 1;
var month = ((month > 9)?month:'0' + month);
var day = ((date.getDate() > 9)?date.getDate():'0' + date.getDate());
var hours = ((date.getHours() > 9)?date.getHours():'0' + date.getHours());
var minutes = ((date.getMinutes() > 9)?date.getMinutes():'0' + date.getMinutes());
var seconds = ((date.getSeconds() > 9)?date.getSeconds():'0' + date.getSeconds());
var datetime = date.getFullYear() + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
return datetime;
};
//+---------------------------------------------------
//| 日期计算
//+---------------------------------------------------
Date.prototype.dateAdd = function(strInterval, Number) {
var dtTmp = this;
switch (strInterval) {
case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number));
case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number));
case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number));
case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number));
case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
}
}
//+---------------------------------------------------
//| 日期时间检查
//| 格式为:YYYY-MM-DD HH:MM:SS
//+---------------------------------------------------
function checkDateTime(str){
var reg = /^(/d{4})-(/d{2})-(/d{2}) (/d{2}):(/d{2}):(/d{2})$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
if(d.getHours()!=r[4])return false;
if(d.getMinutes()!=r[5])return false;
if(d.getSeconds()!=r[6])return false;
return true;
}
//+---------------------------------------------------
//| 字符串转成日期类型
//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd
//+---------------------------------------------------
function dateString2Date(dateStr){
var converted = Date.parse(DateStr);
var myDate = new Date(converted);
if (isNaN(myDate)){
//var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';
var arys= DateStr.split('-');
myDate = new Date(arys[0],--arys[1],arys[2]);
}
return myDate;
}
//+---------------------------------------------------
//| 字符串转成日期类型
//| 字符串格式:YYYY-MM-DD HH:MM:SS
//+---------------------------------------------------
function dateTimeStr2Date(dateTimeStr){
var reg = /^(/d{4})-(/d{2})-(/d{2}) (/d{2}):(/d{2}):(/d{2})$/;
var r = dateTimeStr.match(reg);
// 判断是否是参数格式是否正确
if(!checkDateTime(dateTimeStr)){
return null;
}
return new Date(r[1], r[2] - 1, r[3], r[4], r[5], r[6]);
}
//+---------------------------------------------------
//| 得到两个日期的时间差,单位是毫秒
//| 字符串格式:YYYY-MM-DD HH:MM:SS
//+---------------------------------------------------
function getDateTimeDiff(dateTimeStr1, dateTimeStr2){
var d1 = dateTimeStr2Date(dateTimeStr1);
var d2 = dateTimeStr2Date(dateTimeStr2);
return d1 - d2;
}
js 日期函数
最新推荐文章于 2024-01-31 10:33:27 发布