我想知道哪個js插件用於顯示郵件時間(如果是今天的郵件)或日期。gmail使用哪個插件顯示郵件時間或日期?
如果今天本身收到郵件,然後它顯示的時間「下午1點18分」,否則日期,如「09月05日」。如果我去年收到了郵件,那麼它會顯示「11/12/13」的日期。
是否有任何JS插件或軌這樣做呢? 像這樣
感謝
我想知道哪個js插件用於顯示郵件時間(如果是今天的郵件)或日期。gmail使用哪個插件顯示郵件時間或日期?
如果今天本身收到郵件,然後它顯示的時間「下午1點18分」,否則日期,如「09月05日」。如果我去年收到了郵件,那麼它會顯示「11/12/13」的日期。
是否有任何JS插件或軌這樣做呢? 像這樣
感謝
爲什麼你需要的任何插件或寶石。你可以很容易地用幫手來做。 在您的幫助:
require 'date'
def time_date(date)
if date.year > Time.now.year
date.strftime('%d/%m/%y')
else
date.to_date == Time.now.to_date ? date.strftime('%l:%M %P') : date.strftime('%b %d')
end
end
在您的視圖:
<%= time_date(@model.created_at) %>
按你的評論確實想使用jQuery來顯示日期時間,而不是幫手。所以沒有直接的插件。但是你可以使用https://github.com/agschwender/jquery.formatDateTime來實現你想要的。
讓我們考慮對你的看法,你有以下的div:
<div class="start">2014/09/11 09:00:03</div>
現在使用jquery.formatDateTime
格式化DIV日期:
$(document).ready(function(){
var datetime = new Date($('.start').text());
var today = new Date();
if(today.getFullYear() > datetime.getFullYear()){
$('.start').formatDateTime('mm/dd/y');
}
else{
if(today.getDate() > datetime.getDate()){
$('.start').formatDateTime('M m');
}
else{
$('.start').formatDateTime('g:ii a');
}
}
});
希望這有助於你!
您可以使用moment.js因爲這是一種日期和時間顯示 進口moment.js,並與傳遞日期作爲參數調用以下功能。
function emailTimeDisplay(dbDate) {
dbDate = new moment(dbDate);
var currentDate = new moment();
if (currentDate.isSame(dbDate, 'day'))
return dbDate.format('h:mm a');
else if (currentDate.isSame(dbDate, 'year'))
return dbDate.format("MMM DD");
else
return dbDate.format("MM/DD/YYYY");
}
您可以使用moment.js
進行此類日期和時間顯示。導入moment.js
並調用此函數,將日期作爲參數傳遞。
function emailTimeDisplay(dbDate) {
dbDate = new moment(dbDate);
var currentDate = new moment();
if (currentDate.isSame(dbDate, 'day'))
return dbDate.format('h:mm a');
else if (currentDate.isSame(dbDate, 'year'))
return dbDate.format("MMM DD");
else
return dbDate.format("MM/DD/YYYY");
}
我可以通過輔助方法實現它。但是如果我有1000條記錄,那麼我必須調用這個幫助器方法1000次,這會降低我的性能。這就是爲什麼尋找js插件。 – sunil 2014-09-11 06:27:21
jquery中沒有直接插件可以這樣做。但你可以通過https://github.com/agschwender/jquery.formatDateTime來實現它。我已經更新了我的答案 – 2014-09-11 07:25:57