获取今天和接下来 2 天的日期 - 在 select 选项中显示
Get Today date & next 2 days - display in select option
我想在下面的选项中显示日期。必须获取今天的日期并在 select 组件中显示接下来 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>
抱歉..有什么可行的解决方案吗?否则必须采用其他方法。
谢谢
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);
您可以对结果进行打包和格式化,这将是您所期望的。
为此您也可以使用 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
给你一个解决方案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++){
var tDate = new Date();
tDate.setDate(today.getDate()+i);
var optionDate = tDate.getDate() + " " + month[tDate.getMonth()] + " " + tDate.getFullYear();
$('select').append('<option>' + optionDate + '</option');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select></select>
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>
我想在下面的选项中显示日期。必须获取今天的日期并在 select 组件中显示接下来 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>
抱歉..有什么可行的解决方案吗?否则必须采用其他方法。
谢谢
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);
您可以对结果进行打包和格式化,这将是您所期望的。
为此您也可以使用 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
给你一个解决方案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++){
var tDate = new Date();
tDate.setDate(today.getDate()+i);
var optionDate = tDate.getDate() + " " + month[tDate.getMonth()] + " " + tDate.getFullYear();
$('select').append('<option>' + optionDate + '</option');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select></select>
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>