如何解决如何添加“大约几分钟前,大约几小时前,等等”;在 .filter 中用于 angular/ionic v1 项目
我的问题是如何在 ionic v1 项目中为 wordpress 添加 JS 过滤器,而不是使用 UTC 日期。
我使用的是 wordpress 原生 ionic v1 应用,因此这对于获取应用中每个帖子的准确日期非常重要。
我不喜欢将日期显示为 UTC,因为它太长了.. 我只需要(1 小时前,年 .. 等)!!谢谢。
这是我的代码:
.filter('timeAgo',function(){
return function timeAgo(time){
switch (typeof time) {
case 'number':
break;
case 'string':
time = +new Date(time);
break;
case 'object':
if (time.constructor === Date) time = time.getTime();
break;
default:
time = +new Date();
}
var time_formats = [
[60,'seconds',1],// 60
[120,'1 minute ago','1 minute from Now'],// 60*2
[3600,'minutes',60],// 60*60,60
[7200,'1 hour ago','1 hour from Now'],// 60*60*2
[86400,'hours',3600],// 60*60*24,60*60
[172800,'Yesterday','Tomorrow'],// 60*60*24*2
[604800,'days',86400],// 60*60*24*7,60*60*24
[1209600,'Last week','Next week'],// 60*60*24*7*4*2
[2419200,'weeks',604800],// 60*60*24*7*4,60*60*24*7
[4838400,'Last month','Next month'],// 60*60*24*7*4*2
[29030400,'months',2419200],// 60*60*24*7*4*12,60*60*24*7*4
[58060800,'Last year','Next year'],// 60*60*24*7*4*12*2
[2903040000,'years',29030400],// 60*60*24*7*4*12*100,60*60*24*7*4*12
[5806080000,'Last century','Next century'],// 60*60*24*7*4*12*100*2
[58060800000,'centuries',2903040000] // 60*60*24*7*4*12*100*20,60*60*24*7*4*12*100
];
var seconds = (+new Date() - time) / 1000,token = 'ago',list_choice = 1;
if (seconds == 0) {
return 'Just Now'
}
if (seconds < 0) {
seconds = Math.abs(seconds);
token = 'from Now';
list_choice = 2;
}
var i = 0,format;
while (format = time_formats[i++])
if (seconds < format[0]) {
if (typeof format[2] == 'string')
return format[list_choice];
else
return Math.floor(seconds / format[2]) + ' ' + format[1] + ' ' + token;
}
return time;
}
var aDay = 24 * 60 * 60 * 1000;
console.log(time_ago(new Date(Date.Now() - aDay)));
console.log(time_ago(new Date(Date.Now() - aDay * 2)));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。