首页 > 代码库 > js处理时间(2016-9-16)的函数
js处理时间(2016-9-16)的函数
function(time){
var msOfDay = 24 * 3600 * 1000;
var msOfHour = 3600 * 1000;
var msOfMinute = 60 * 1000;
if (!time) {
return "未知时间";
}
//求时间差:
time = new Date(time.replace(/-/g, "/")); //开始时间
if (time.toJSON() == null) {
return "未知时间";
}
// return time;
var now = new Date(); //结束时间
var diff = now.getTime() - time.getTime() //时间差的毫秒数
if (diff < 0) {
return "1分钟前";
}
//计算出相差天数
var days = Math.floor(diff / msOfDay);
if (days >= 7) {
return $filter(‘date‘)(time, ‘yyyy-MM-dd‘);
} else if (diff / msOfDay >= 1) {
return days + "天前";
} else if (diff / msOfHour >= 1) {
var hours = Math.floor(diff / msOfHour);
return hours + "小时前";
} else {
var minute = Math.floor(diff / (60 * 1000));
if (minute == 0){
return "刚刚";
}
return minute + "分钟前";
}
}
这里有一点药提一下 在ios的safary 浏览器里面 Date() 函数的格式不能带有“-” ,比如(2015-10-03) 这种格式会报参数错误;
使用replace(/-/g, "/")把格式更换一下就可以了
js处理时间(2016-9-16)的函数