2016-07-28 85 views
1

我有这个日期&小时制格式2016-03-07 15:13:49。我想按照1分钟前,1小时前或1年前的时间显示,具体取决于从现在开始的日期。将yyyy-mm-dd hh:mm:ss格式转换为时间前

+0

@RamanSahasi中重复的问题的答案,是它适用于日期格式我有吗? –

+0

你只需要转换你的时间格式。查看我的答案并运行代码片段。 –

回答

1

您需要将日期格式转换为js date对象,然后你可以使用timeSince功能从this答案

var date = new Date('2016-03-07T15:13:49') 
 

 
document.write("js date: " + date + "<br><br>"); 
 
document.write("timesince: "); 
 

 
document.write(timeSince(date)); 
 

 
function timeSince(date) { 
 

 
    var seconds = Math.floor((new Date() - date)/1000); 
 

 
    var interval = Math.floor(seconds/31536000); 
 

 
    if (interval > 1) { 
 
     return interval + " years"; 
 
    } 
 
    interval = Math.floor(seconds/2592000); 
 
    if (interval > 1) { 
 
     return interval + " months"; 
 
    } 
 
    interval = Math.floor(seconds/86400); 
 
    if (interval > 1) { 
 
     return interval + " days"; 
 
    } 
 
    interval = Math.floor(seconds/3600); 
 
    if (interval > 1) { 
 
     return interval + " hours"; 
 
    } 
 
    interval = Math.floor(seconds/60); 
 
    if (interval > 1) { 
 
     return interval + " minutes"; 
 
    } 
 
    return Math.floor(seconds) + " seconds"; 
 
}

+0

谢谢,这将是解决方案。 –

+0

不客气:) –

0
var past_date = new Date('2016-07-28T05:13:49'); // the date will come here 
var time_diff = new Date()- past_date;  // getting the difference between the past date and the current date 
var min = Math.floor(time_diff/60000); // Converting time in to minutes 
var seconds = 59, 
    minutes = Math.floor(min%60), 
    hours = Math.floor(min/60); 

if(hours > 24){ // Checking if the hours ids more than 24 to display as a day 
    var days = hours/24; 
    days = days.toFixed(0); 
    document.write("last updated:" + days + " days ago"); 
}else if(hours > 1){ // if time is less than the 24 hours it will display in hours 
    document.write("last updated:" + hours + " hours ago"); 
}else{ 
    document.write("last updated:" + minutes + " minutes ago"); 
} 
2

如果你不关心的准确性,我认为moment是一个更好的方法。

例如:

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 
相关问题