2017-07-31 55 views
1

我想在以下選項中顯示日期。必須在選定組件中獲取今天的日期並顯示下一個2天的日期。獲取今日日期和接下來的2天 - 在選擇選項中顯示

插件使用 - Selectize

HTML:

<select> 
<option value="31 Jul 2017">31 Jul 2017</option> 
<option value="1 Aug 2017">1 Aug 2017</option> 
<option value="2 Aug 2017">2 Aug 2017</option> 
</select> 

對不起..有任何可能的解決方案可用?否則必須採用其他方法。

感謝

+0

*「今天的日期」* ...在哪個時區?用戶還是你的? – Phil

+2

https://momentjs.com/ – Phil

+0

@Phil - 用戶所在的時區。是的,我們使用momentJS來獲取日期和時間。但是,不知道如何在選擇選項中顯示。謝謝 – TDG

回答

0

var dateRange = document.getElementById('date-range'), 
 
    monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 
 

 
for(var day = 0; day < 3; day++) { 
 
    var date = new Date(); 
 
    date.setDate(date.getDate() + day); 
 
    dateRange.options[dateRange.options.length] = new Option([date.getDate(), monthNames[date.getMonth()], date.getFullYear()].join(' '), date.toISOString()); 
 
}
<select id="date-range"> 
 
</select>

0

var today = new Date(); 
 
var tomorrow = new Date(); 
 
var afterTomorrow = new Date(); 
 
tomorrow.setDate(today.getDate()+1); 
 
afterTomorrow.setDate(today.getDate()+2); 
 
console.log(tomorrow, afterTomorrow);

你可以打包和格式化的結果,它會被你所期望的。

+0

是的,謝謝。但是,我想把這些值放在選擇選項中,就像我說的那樣。這讓我很困惑。對不起,麻煩您了。 – TDG

1

爲此,您也可以使用moment-transform。它真的很容易實現的任何日期和時間的一行代碼,你希望它應該是這樣的:

moment().transform("YYYY-MM-+1 00:00:00.000") //This display the next day (Tomorrow) 

moment().transform("YYYY-MM-+2 00:00:00.000") //This display the day after tommorow 

關鍵是+1 & +2等。你也可以顯示,如果你使用-1像昨天日期:

moment().transform("YYYY-MM--1 00:00:00.000") //This display the Yesterday date 
+0

極好的解決方案。這些值我動態添加選擇選項和選擇插件?謝謝 – TDG

+0

是的,您可以使用moment-transform生成的日期作爲您的選擇或任何其他HTML元素的選項值。 –

1

在這裏,你去了一個解決方案https://jsfiddle.net/pp6ko79g/

var today = new Date(); 
 
var month = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] 
 

 
for(var i=0; i<3; i++){ 
 
\t var tDate = new Date(); 
 
    tDate.setDate(today.getDate()+i); 
 
\t var optionDate = tDate.getDate() + " " + month[tDate.getMonth()] + " " + tDate.getFullYear(); 
 
\t $('select').append('<option>' + optionDate + '</option'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select></select>

相關問題