js 日期函数

//+---------------------------------------------------
//| 得到 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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值