【发布时间】:2016-03-24 22:43:39
【问题描述】:
其实我有一个日期时间或时间戳格式看起来像2015-12-18 07:10:54这个时间应该被转换或修改为2小时前或其他。 p>
我试过这个。但是这有问题。
始终显示 8 天前。 {这是错误的估计。}
function ( date ) {
var seconds = Math.floor(( new Date() - date ) / 1000 );
var interval = Math.floor( seconds / 31536000 );
if ( interval == 1 ) {
return interval + " year ago";
}
if ( interval > 1 ) {
return interval + " years ago";
}
interval = Math.floor( seconds / 2592000 );
if ( interval == 1 ) {
return interval + " month ago";
}
if ( interval > 1 ) {
return interval + " months ago";
}
interval = Math.floor( seconds / 86400 );
if ( interval == 1 ) {
return interval + " day ago";
}
if ( interval > 1 ) {
return interval + " days ago";
}
interval = Math.floor( seconds / 3600 );
if ( interval == 1 ) {
return interval + " hour ago";
}
if ( interval > 1 ) {
return interval + " hours ago";
}
interval = Math.floor( seconds / 60 );
if ( interval == 1 ) {
return interval + " minute ago";
}
if ( interval > 1 ) {
return interval + " minutes ago";
}
return Math.floor(seconds) + " seconds ago";
}
【问题讨论】:
-
简单的解决方案是使用类似 momentJS 的东西。
-
使用 MomentJS npmjs.com/package/moment
-
你有一个正确的 JS 时间戳还是
2015-12-18 07:10:54是你所拥有的?因为解析时间戳的识别格式比解析任意格式要容易得多。
标签: javascript node.js