Javascript 获取两个日期之间的工作日数据
我想显示两个日期之间的所有日期。所以我写了Javascript 获取两个日期之间的工作日数据,javascript,jquery,Javascript,Jquery,我想显示两个日期之间的所有日期。所以我写了 $( document ).ready(function() { $( "#day" ).click(function() { startJsonSession(); return false; }); function startJsonSession(){ var inputda
$( document ).ready(function() {
$( "#day" ).click(function() {
startJsonSession();
return false;
});
function startJsonSession(){
var inputdate=$('#inputdate').val();
//alert("Input Date!!!" + inputdate );
var d = new Date(inputdate);
var nowMS = d.getTime(); // get # milliseconds for today
//alert(nowMS);
var week = 1000*60*60*24*7; // milliseconds in one week
//alert(week);
var oneWeekFromNow = new Date(nowMS + week);
//alert("oneWeekFromNow!!!" + oneWeekFromNow);
var fromdate = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
if (fromdate < 10) {
fromdate = "0" + fromdate;
}
if (month < 10) {
month = "0" + month;
}
//var date = fromdate + "/" + month + "/" + year;
var date = year + "/" + month + "/" + fromdate;
alert("InputDate!!!!" + date);
//var weekdate=oneWeekFromNow.getDate() + "/" + month + "/" + year;
var weekdate=year + "/" + month + "/" + oneWeekFromNow.getDate();
alert("weekdate!!!" + weekdate);
var tomorrow = new Date(d.getTime() + (24 * 60 * 60 * 1000));
var tomorrowdate = tomorrow.getDate();
var month1 = tomorrow.getMonth() + 1;
var year1 = tomorrow.getFullYear();
if (tomorrowdate < 10) {
tomorrowdate = "0" + tomorrowdate;
}
if (month1 < 10) {
month1 = "0" + month1;
}
//var nextday = tomorrowdate + "/" + month1 + "/" + year1;
var nextday = year1 + "/" + month1 + "/" + tomorrowdate;
alert("tomorrow!!!!" + nextday);
var d1 = new Date(date);
alert("D1!!!!!" + d1);
var d2 = new Date(weekdate);
var aDates = [];
do
{
aDates.push(d1.toString());
d1.setDate(d1.getDate()+1);
}
while (d1 <= d2);
alert("Dates!!!" + aDates);
//alert(aDates.join("\n"));
}
});
现在我可以在两个日期之间使用默认格式,我必须将默认格式更改为mm/dd/yyyy
你能给我提个建议吗?…根据你的评论,你希望在选定日期后的7天内使用dd/mm/yy格式。javascript是
$("#startdate").datepicker({
dateFormat: 'dd/mm/yy'
});
$("#getDate").click(function () {
var start = $("#startdate").datepicker("getDate"),
currentDate = new Date(start),
between = [];
for(var i=0;i<7;i++) {
currentDate.setTime(currentDate.getTime() + 24*60*60*1000);
//miliseconds in 1 day
between.push(new Date(currentDate));
}
for (var i = 0; i < between.length; i++) {
var date = $.datepicker.formatDate('dd/mm/yy', new Date(between[i]));
between[i] = date;
}
console.log(between)//between is the required result
})
您可以使用以下功能更改日期格式:
function changeDateFormat(date) {
var year = date.getFullYear();
var month = (1 + date.getMonth()).toString();
month = month.length > 1 ? month : '0' + month;
var day = date.getDate().toString();
day = day.length > 1 ? day : '0' + day;
return month + '/' + day + '/' + year ;
}
编辑
我创造了一个新的世界
在创建数组适配器时,需要更改日期的格式,并将其推入数组中。
请参阅以下代码:
$( document ).ready(function() {
$( "#day" ).click(function() {
startJsonSession();
return false;
});
function changeDateFormat(date) {
var year = date.getFullYear();
var month = (1 + date.getMonth()).toString();
month = month.length > 1 ? month : '0' + month;
var day = date.getDate().toString();
day = day.length > 1 ? day : '0' + day;
return month + '/' + day + '/' + year ;
}
function startJsonSession(){
var inputdate=$('#inputdate').val();
//alert("Input Date!!!" + inputdate );
var d = new Date(inputdate);
var nowMS = d.getTime(); // get # milliseconds for today
//alert(nowMS);
var week = 1000*60*60*24*7; // milliseconds in one week
//alert(week);
var oneWeekFromNow = new Date(nowMS + week);
//alert("oneWeekFromNow!!!" + oneWeekFromNow);
var fromdate = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
if (fromdate < 10) {
fromdate = "0" + fromdate;
}
if (month < 10) {
month = "0" + month;
}
//var date = fromdate + "/" + month + "/" + year;
var date = year + "/" + month + "/" + fromdate;
alert("InputDate!!!!" + date);
//var weekdate=oneWeekFromNow.getDate() + "/" + month + "/" + year;
var weekdate=year + "/" + month + "/" + oneWeekFromNow.getDate();
alert("weekdate!!!" + weekdate);
var tomorrow = new Date(d.getTime() + (24 * 60 * 60 * 1000));
var tomorrowdate = tomorrow.getDate();
var month1 = tomorrow.getMonth() + 1;
var year1 = tomorrow.getFullYear();
if (tomorrowdate < 10) {
tomorrowdate = "0" + tomorrowdate;
}
if (month1 < 10) {
month1 = "0" + month1;
}
//var nextday = tomorrowdate + "/" + month1 + "/" + year1;
var nextday = year1 + "/" + month1 + "/" + tomorrowdate;
alert("tomorrow!!!!" + nextday);
var d1 = new Date(date);
alert("D1!!!!!" + d1);
var d2 = new Date(weekdate);
var aDates = [];
do
{
var formattedDate = changeDateFormat(d1);
aDates.push(formattedDate);
d1.setDate(d1.getDate()+1);
}
while (d1 <= d2);
alert("Dates!!!" + aDates);
//alert(aDates.join("\n"));
}
});
我想你以前也问过同样的问题。是的,Roshan在这里@date Picker在那里,Itz工作得很好。我想从一个日期选择器开始,如果你选择一个日期,它将自动运行长达7天,以获取周数据。我试过这一个,也使用了一个日期选择器,但无法获取…请建议我确定我将很快更新。因此,更改问题的标题您是否希望在选定日期后的7天内完成此操作,但仍然无法工作,我正在呼叫aDates。changeDateFormatdate…@rupalliPlease请参考编辑过的答案。希望你也在找同样的。