javascript-将当前时间/日期与范围进行比较
我想做一个功能,将基本上比较当前的日期时间列表。例如,从2013年8月22日0700点到2013年8月29日0700点,它将返回“Joe Mama-电话号码555-5555”,然后从2013年8月29日0700点到2013年9月5日0500点,它将返回“Angie Daddy-电话号码555-5555”。这是一个“随叫随到”的时间表 我所能做的最好的事情就是得到日期并做一个==检查,这花费了我太长的时间,只在午夜改变。如果我想把时间缩短到一小时,我必须每周写168条If/then语句(一周中每小时一条) 有人认为他们能给我指出正确的方向吗?当然不是找人写代码,我只是不知道还有什么其他的搜索条件 编辑(太新,不允许我回答): 非常感谢ergwin的帮助!对于任何想找这样的东西的人来说,这里有一些最简单的方法(不是最好的,但是很有效)。将时间转换为大纪元时间(如果您不熟悉,请使用维基百科)。虽然进行转换有点痛苦,但比较要简单得多 我在页面注释中链接的站点(这样我就不会丢失它)将时间和日期转换为纪元时间,但出于任何原因,我不得不在它给我的时间末尾加上三个零 希望这是有意义的! 资料来源:javascript-将当前时间/日期与范围进行比较,javascript,date,time,compare,Javascript,Date,Time,Compare,我想做一个功能,将基本上比较当前的日期时间列表。例如,从2013年8月22日0700点到2013年8月29日0700点,它将返回“Joe Mama-电话号码555-5555”,然后从2013年8月29日0700点到2013年9月5日0500点,它将返回“Angie Daddy-电话号码555-5555”。这是一个“随叫随到”的时间表 我所能做的最好的事情就是得到日期并做一个==检查,这花费了我太长的时间,只在午夜改变。如果我想把时间缩短到一小时,我必须每周写168条If/then语句(一周中每小
var d=新日期();
var n=d.getTime();
文件。写入(n)
如果(n>=1376913600000&&n=1377518400000&&n将每个待命开始时间的日期加上一个结束时间放在一个数组中。然后在当前日期大于索引日期时在数组中循环,如果从末尾循环,则在数组中循环:
function whosoncall(){
var oncall= [[1377068400000, 'Joe Mama', '555-5555'],
[1377759600000, 'Angie Daddy', '555-5555'],
[1378357200000, 'Some Body', '555-5555'],
[1378789200000, 'End coverage']];
var L= oncall.length-1,
D= new Date().getTime();
if(D<oncall[0][0] || D>oncall[L][0]) throw new Error('No oncall for this date');
while(L && D<oncall[L][0])--L;
return oncall[L][1]+' phone: '+oncall[L][2];
}
whosoncall();
函数whosoncall(){
变量oncall=[[137706840000,'乔妈妈','555-5555'],
[1377759600000,'Angie Daddy','555-5555'],
[1378357200000,'一些身体','555-5555'],
[13789200000,‘最终覆盖’];
变量L=oncall.length-1,
D=新日期().getTime();
if(Doncall[L][0])抛出新错误(“此日期无oncall”);
while(L&&d)列表上的日期/时间格式是什么?获取当前日期(我想你已经知道了),然后写一个“for”循环来遍历列表,如果当前日期介于开始日期和结束日期之间,则提取信息。(currentDate>=listStartDate&¤tDate啊哈,好主意!!!!我甚至没有想到这一点。
function whosoncall(){
var oncall= [[1377068400000, 'Joe Mama', '555-5555'],
[1377759600000, 'Angie Daddy', '555-5555'],
[1378357200000, 'Some Body', '555-5555'],
[1378789200000, 'End coverage']];
var L= oncall.length-1,
D= new Date().getTime();
if(D<oncall[0][0] || D>oncall[L][0]) throw new Error('No oncall for this date');
while(L && D<oncall[L][0])--L;
return oncall[L][1]+' phone: '+oncall[L][2];
}
whosoncall();