Javascript 将yyyy-mm-dd hh:mm:ss格式转换为time-ago
我有这个日期和时间格式Javascript 将yyyy-mm-dd hh:mm:ss格式转换为time-ago,javascript,jquery,Javascript,Jquery,我有这个日期和时间格式2016-03-07 15:13:49。我想把它显示为1分钟前、1小时前或1年前,这取决于从现在开始的日期有多长。您需要将日期格式转换为js date对象,然后您可以使用answer的timeSince功能 var日期=新日期('2016-03-07T15:13:49') 文件。写入(“js日期:“+date+””; 文件。写入(“timesince:”); 文件。书写(时间自(日期)); 功能时间自(日期){ var秒数=数学地板((新日期()-Date)/1000);
2016-03-07 15:13:49
。我想把它显示为1分钟前、1小时前或1年前,这取决于从现在开始的日期有多长。您需要将日期格式转换为js date
对象,然后您可以使用answer的timeSince
功能
var日期=新日期('2016-03-07T15:13:49')
文件。写入(“js日期:“+date+”
”;
文件。写入(“timesince:”);
文件。书写(时间自(日期));
功能时间自(日期){
var秒数=数学地板((新日期()-Date)/1000);
var间隔=数学下限(秒/31536000);
如果(间隔>1){
重现期+“年”;
}
间隔=数学地板(秒/2592000);
如果(间隔>1){
返回间隔+“月”;
}
间隔=数学楼层(秒/86400);
如果(间隔>1){
返回间隔+“天”;
}
间隔=数学地板(秒/3600);
如果(间隔>1){
返回间隔+“小时”;
}
间隔=数学楼层(秒/60);
如果(间隔>1){
返回间隔+“分钟”;
}
返回数学地板(秒)+“秒”;
}
如果你不在乎准确性,我认为这是一个更好的方法
例如:
var m = require('moment');
m("2016-03-07 15:13:49","YYYY-MM-DD HH:mm:ss").fromNow(); // 5 months ago
m("2016-07-28 12:13:49","YYYY-MM-DD HH:mm:ss").fromNow(); // 2 hours ago
m("2016-07-28 13:13:49","YYYY-MM-DD HH:mm:ss").fromNow(); // 36 minutes ago
m("2016-07-28 13:49:00","YYYY-MM-DD HH:mm:ss").fromNow(); // a minute ago
m("2016-07-28 13:50:00","YYYY-MM-DD HH:mm:ss").fromNow(); // a few seconds ago
@RamanSahasi重复问题的答案,它是否适用于我的日期格式?你只需要转换你的时间格式。请参阅我的答案并运行代码段。谢谢,这将是解决方案。请注意,如果值介于1和2之间,导致“75分钟”之类的结果,则此函数将不会产生预期的输出。如果比较
var m = require('moment');
m("2016-03-07 15:13:49","YYYY-MM-DD HH:mm:ss").fromNow(); // 5 months ago
m("2016-07-28 12:13:49","YYYY-MM-DD HH:mm:ss").fromNow(); // 2 hours ago
m("2016-07-28 13:13:49","YYYY-MM-DD HH:mm:ss").fromNow(); // 36 minutes ago
m("2016-07-28 13:49:00","YYYY-MM-DD HH:mm:ss").fromNow(); // a minute ago
m("2016-07-28 13:50:00","YYYY-MM-DD HH:mm:ss").fromNow(); // a few seconds ago