2016-07-28 29 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 
相關問題