Javascript 用小时差分值填充数组/列表-从下拉列表中给出两个时间值

Javascript 用小时差分值填充数组/列表-从下拉列表中给出两个时间值,javascript,jquery,asp.net,jquery-plugins,timepicker,Javascript,Jquery,Asp.net,Jquery Plugins,Timepicker,我试图用时间减法的值填充数组/列表。我有这种格式的开始时间“09.00am”和结束时间,例如:“06.00pm”,这两个时间都来自两个下拉列表(从上午9点到晚上9点,每小时递增一次),它们实际上是jquery时间选择器控件。这就是我想做的。。在用户选择这两个时间之后,我想用介于两个选定时间值之间的单个“小时”标记值填充一个数组/列表。例如:选择上午9点和下午12点应该给我值{“上午10点”,“上午11点”}。。选择上午10点到下午4点应该给我{“上午11点”、“下午12点”、“下午1点”、“下午

我试图用时间减法的值填充数组/列表。我有这种格式的开始时间“09.00am”和结束时间,例如:“06.00pm”,这两个时间都来自两个下拉列表(从上午9点到晚上9点,每小时递增一次),它们实际上是jquery时间选择器控件。这就是我想做的。。在用户选择这两个时间之后,我想用介于两个选定时间值之间的单个“小时”标记值填充一个数组/列表。例如:选择上午9点和下午12点应该给我值{“上午10点”,“上午11点”}。。选择上午10点到下午4点应该给我{“上午11点”、“下午12点”、“下午1点”、“下午2点”、“下午3点”}

功能js:

function getBusyTimes(first, second) {
    var f = first.split(' '), s = second.split(' ');
    if (first == '12.00 AM') f[0] = '0';
    if (first == '12.00 PM') f[1] = 'AM';
    if (second == '12.00 AM') s[0] = '24';
    if (second == '12.00 PM') s[1] = 'AM';
    f[0] = parseInt(f[0], 10) + (f[1] == 'PM' ? 12 : 0);
    s[0] = parseInt(s[0], 10) + (s[1] == 'PM' ? 12 : 0);
    int i = s[0] - f[0];
    // I have difference in hours in "i"
    //From here, I want to make use of value 'i' -- calculate in between   
    // hourly values and return the array back to 
    // original function above.
}

我没有测试过这个,但它应该适用于你正在尝试做的事情,并且它应该比你正在尝试做的计算运行得更快

function getBusyTimes(first, second){
var timeList = ['12:00 AM','1:00 AM','2:00 AM','3:00 AM']; // finish this list
var firstid  = timeList.indexOf(first);
var secondid = timeList.indexOf(second);
var result = new Array();
for(var i=firstid; i<=secondid; i++ ){
    result.push(timeList[i]);
}
return result;
}
函数getBusyTimes(第一、第二){ var timeList=['12:00am','1:00am','2:00am','3:00am'];//完成此列表 var firstid=timeList.indexOf(第一个); var secondid=timeList.indexOf(秒); var result=新数组(); 对于(var i=firstid;它可以工作!-我做了一个修改,允许第二次时间提前,即从晚上11点到早上6点
function getBusyTimes(first, second){
var timeList = ['12:00 AM','1:00 AM','2:00 AM','3:00 AM']; // finish this list
var firstid  = timeList.indexOf(first);
var secondid = timeList.indexOf(second);
var result = new Array();
for(var i=firstid; i<=secondid; i++ ){
    result.push(timeList[i]);
}
return result;
}