2017-07-31 27 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>

相关问题