首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用数组查询的Javascript计时器

使用数组查询的Javascript计时器
EN

Stack Overflow用户
提问于 2015-09-16 03:34:14
回答 1查看 43关注 0票数 0

我正在尝试创建一个then站点,该站点获取世界上某个位置(例如新加坡/伦敦)的输入日期时间(从c#端点生成),然后显示该位置的当前时间并开始“滴答”

当时钟滴答作响(并加载)时,我需要它搜索一个包含开始和结束日期的datetime数组,它们定义了一天中的30分钟时隙。

有了这两条信息,我需要获得当前时间所在项的数组索引(数组如下所示)

代码语言:javascript
复制
function (timeslotDate) {
    var current = timeslotDate.toDate();
    global_timeslots = new Array();
    global_timeslots['0'] = new Array(2, current.setHours(0, 0, 0, 0), current.setHours(0, 29, 59, 0));
    global_timeslots['1'] = new Array(3, current.setHours(0, 30, 0, 0), current.setHours(0, 59, 59, 0));
    global_timeslots['2'] = new Array(4, current.setHours(1, 0, 0, 0), current.setHours(1, 29, 59, 0));
    global_timeslots['3'] = new Array(5, current.setHours(1, 30, 0, 0), current.setHours(1, 59, 59, 0));
    global_timeslots['4'] = new Array(6, current.setHours(2, 0, 0, 0), current.setHours(2, 29, 59, 0));
    global_timeslots['5'] = new Array(7, current.setHours(2, 30, 0, 0), current.setHours(2, 59, 59, 0));
    global_timeslots['6'] = new Array(8, current.setHours(3, 0, 0, 0), current.setHours(3, 29, 59, 0));
    global_timeslots['7'] = new Array(9, current.setHours(3, 30, 0, 0), current.setHours(3, 59, 59, 0));
    global_timeslots['8'] = new Array(10, current.setHours(4, 0, 0, 0), current.setHours(4, 29, 59, 0));
    global_timeslots['9'] = new Array(11, current.setHours(4, 30, 0, 0), current.setHours(4, 59, 59, 0));
    global_timeslots['10'] = new Array(12, current.setHours(5, 0, 0, 0), current.setHours(5, 29, 59, 0));
    global_timeslots['11'] = new Array(13, current.setHours(5, 30, 0, 0), current.setHours(5, 59, 59, 0));
    global_timeslots['12'] = new Array(14, current.setHours(6, 0, 0, 0), current.setHours(6, 29, 59, 0));
    global_timeslots['13'] = new Array(15, current.setHours(6, 30, 0, 0), current.setHours(6, 59, 59, 0));
    global_timeslots['14'] = new Array(16, current.setHours(7, 0, 0, 0), current.setHours(7, 29, 59, 0));
    global_timeslots['15'] = new Array(17, current.setHours(7, 30, 0, 0), current.setHours(7, 59, 59, 0));
    global_timeslots['16'] = new Array(18, current.setHours(8, 0, 0, 0), current.setHours(8, 29, 59, 0));
    global_timeslots['17'] = new Array(19, current.setHours(8, 30, 0, 0), current.setHours(8, 59, 59, 0));
    global_timeslots['18'] = new Array(20, current.setHours(9, 0, 0, 0), current.setHours(9, 29, 59, 0));
    global_timeslots['19'] = new Array(21, current.setHours(9, 30, 0, 0), current.setHours(9, 59, 59, 0));
    global_timeslots['20'] = new Array(22, current.setHours(10, 0, 0, 0), current.setHours(10, 29, 59, 0));
    global_timeslots['21'] = new Array(23, current.setHours(10, 30, 0, 0), current.setHours(10, 59, 59, 0));
    global_timeslots['22'] = new Array(24, current.setHours(11, 0, 0, 0), current.setHours(11, 29, 59, 0));
    global_timeslots['23'] = new Array(25, current.setHours(11, 30, 0, 0), current.setHours(11, 59, 59, 0));
    global_timeslots['24'] = new Array(26, current.setHours(12, 0, 0, 0), current.setHours(12, 29, 59, 0));
    global_timeslots['25'] = new Array(27, current.setHours(12, 30, 0, 0), current.setHours(12, 59, 59, 0));
    global_timeslots['26'] = new Array(28, current.setHours(13, 0, 0, 0), current.setHours(13, 29, 59, 0));
    global_timeslots['27'] = new Array(29, current.setHours(13, 30, 0, 0), current.setHours(13, 59, 59, 0));
    global_timeslots['28'] = new Array(30, current.setHours(14, 0, 0, 0), current.setHours(14, 29, 59, 0));
    global_timeslots['29'] = new Array(31, current.setHours(14, 30, 0, 0), current.setHours(14, 59, 59, 0));
    global_timeslots['30'] = new Array(32, current.setHours(15, 0, 0, 0), current.setHours(15, 29, 59, 0));
    global_timeslots['31'] = new Array(33, current.setHours(15, 30, 0, 0), current.setHours(15, 59, 59, 0));
    global_timeslots['32'] = new Array(34, current.setHours(16, 0, 0, 0), current.setHours(16, 29, 59, 0));
    global_timeslots['33'] = new Array(35, current.setHours(16, 30, 0, 0), current.setHours(16, 59, 59, 0));
    global_timeslots['34'] = new Array(36, current.setHours(17, 0, 0, 0), current.setHours(17, 29, 59, 0));
    global_timeslots['35'] = new Array(37, current.setHours(17, 30, 0, 0), current.setHours(17, 59, 59, 0));
    global_timeslots['36'] = new Array(38, current.setHours(18, 0, 0, 0), current.setHours(18, 29, 59, 0));
    global_timeslots['37'] = new Array(39, current.setHours(18, 30, 0, 0), current.setHours(18, 59, 59, 0));
    global_timeslots['38'] = new Array(40, current.setHours(19, 0, 0, 0), current.setHours(19, 29, 59, 0));
    global_timeslots['39'] = new Array(41, current.setHours(19, 30, 0, 0), current.setHours(19, 59, 59, 0));
    global_timeslots['40'] = new Array(42, current.setHours(20, 0, 0, 0), current.setHours(20, 29, 59, 0));
    global_timeslots['41'] = new Array(43, current.setHours(20, 30, 0, 0), current.setHours(20, 59, 59, 0));
    global_timeslots['42'] = new Array(44, current.setHours(21, 0, 0, 0), current.setHours(21, 29, 59, 0));
    global_timeslots['43'] = new Array(45, current.setHours(21, 30, 0, 0), current.setHours(21, 59, 59, 0));
    global_timeslots['44'] = new Array(46, current.setHours(22, 0, 0, 0), current.setHours(22, 29, 59, 0));
    global_timeslots['45'] = new Array(47, current.setHours(22, 30, 0, 0), current.setHours(22, 59, 59, 0));
    global_timeslots['46'] = new Array(48, current.setHours(23, 0, 0, 0), current.setHours(23, 29, 59, 0));
    global_timeslots['47'] = new Array(49, current.setHours(23, 30, 0, 0), current.setHours(23, 59, 59, 0));
}

因此,如果当前时间是凌晨3:45,则返回的时隙索引应该是7。使用此功能的原因是,每次进入新的时隙时,它都会更新屏幕上的某些内容(通过某种端点)。我正在竭尽全力从c#中获取一个date对象(作为字符串),启动一个滴答作响的时钟,然后检查上面的数组。一些粗略的指导是有用的..

一个示例输入字符串(从我的c#端点生成)是:'09-16-2015 03:24:36'

EN

回答 1

Stack Overflow用户

发布于 2015-09-16 03:40:04

在这个项目中,Moment.js可能会是你最好的朋友。http://momentjs.com/docs/

它执行各种日期魔术,包括处理许多不同格式的字符串到日期时间值的转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32594191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档