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

后台给的时间格式是"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

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值