整理系列-时间戳,时间格式年月日,时间差几天前、几月前的方法封装

后台给的时间格式是"2017/11/28 11:20:00"

而产品UI那边要求在前端显示的是 11月28日 刚刚

于是便封装了个便于使用的方法

直接调用
var time = "2017/11/28 11:20:00";
getDateTimeStamp(time); //结果返回的应该是距离该日期的时间段 刚刚、几天前、几月前、几年前、几小时前。
formatDatebox(time //结果返回的应该是2017年11月28日 11:20。
// 距离日计算
function getDateDiff(dateTimeStamp) {
var result;
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
if (diffValue < 0) {
return;
}
var monthC = diffValue / month;
var weekC = diffValue / ( 7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
if (monthC >= 1) {
if (monthC <= 12)
result = "" + parseInt(monthC) + "月前";
else {
result = "" + parseInt(monthC / 12) + "年前";
}
}
else if (weekC >= 1) {
result = "" + parseInt(weekC) + "周前";
}
else if (dayC >= 1) {
result = "" + parseInt(dayC) + "天前";
}
else if (hourC >= 1) {
result = "" + parseInt(hourC) + "小时前";
}
else if (minC >= 1) {
result = "" + parseInt(minC) + "分钟前";
} else {
result = "刚刚";
}
return result;
};
//时间戳
function getDateTimeStamp(dateStr) {
var datatime = Date.parse(dateStr.replace(/-/gi, "/"));
return getDateDiff(datatime);
}
//日期格式化
function formatDatebox(value) {
var year = value.substr( 0, 4);

var index1 = value.indexOf( "-");
var index2 = value.lastIndexOf( "-");
var cha = parseInt(index2) - (parseInt(index1) + 1);
var month = value.substr((parseInt(index1) + 1), cha);

var kg = value.indexOf( " ");
cha = parseInt(kg) - parseInt(index2);
var day = value.substr(parseInt(index2) + 1, cha);

var mh = value.indexOf( ":");
cha = parseInt(mh) - (parseInt(kg) + 1);
var hour1 = value.substr(parseInt(kg) + 1, cha);

var mh2 = value.lastIndexOf( ":");
cha = parseInt(mh2) - (parseInt(mh) + 1);
var hour2 = value.substr(parseInt(mh) + 1, cha);
return month + "月" + day + "日 " + hour1 + ":" + hour2;
}
module.exports = {
getDateTimeStamp: getDateTimeStamp,
formatDatebox:formatDatebox

}



猜你喜欢

转载自blog.csdn.net/sourcemyx/article/details/78899669
今日推荐