字符串转换成date格式
想法是替换成标准2017-06-26格式,然后使用Date方法转换成Date格式
//日期字符串转化Date
convertDateFromString: function (dateString) {
if (dateString) {
var sdate = new Date(dateString.replace(/-/, "/"));
return sdate;
}
},
date格式转换成字符串
toString()把 Date 对象转换为字符串。
toLocaleString()根据本地时间格式,把 Date 对象转换为字符串。
有关时间戳
Date.parse()函数用于分析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。
函数的返回值为Number类型,返回该字符串所表示的日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。
Date.getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
// 获取某个时间格式的时间戳
var stringTime = "1992-04-17 12:21:12";
var timestamp2 = Date.parse(new Date(stringTime));
timestamp2 = timestamp2 / 1000;
//1992-04-17 12:21:12的时间戳为:703484472
console.log(stringTime + "的时间戳为:" + timestamp2);
//获取今天这个时刻的时间戳
var nowDate = new Date();
拆分时间计算
想法是根据隔开数字的符号拆分字符串,获取年,月,日,组成一个数组,这样就可以需要哪个就提取哪个了,最后再重新组成一个需要的字符串。
//这里引用的是数据表格里面的formatter例子
//有效期状态
isState: function (value, row, index) { //根据传入的时间+有效期限<当前时期 判断是否过期
var limitMonth = row.yxdate;//默认有效期6个月
var cDate = userRoleSetting.convertDateFromString(value);//传入的日期:2017-5-15
var ndate = (new Date()).toLocaleDateString(); //获取当前的日期:2017-6-19
date1 = value.split('-');//拆分日期
var outDateD = date1[2];
date11 = ndate.split('/');//拆分日期
// 得到总月数
date1 = parseInt(date1[0]) * 12 + parseInt(date1[1]);
date11 = parseInt(date11[0]) * 12 + parseInt(date11[1]);
date2 = date1 + parseInt(limitMonth);
var outDateY = parseInt(date2 / 12);
var outDateM = date2 % 12;
if (date2 < date11) {//创建日期+有效日期在今天之前,显示过期,否则显示到期日期
return '<span style="color: red;">已过期</span>';
} else {
return '<span style="color: green">' + outDateY + '-' + outDateM + '-' + outDateD + '</span>';
}
}