Javascript定时器与数组查询
Javascript Timer with Array Query
我正在尝试创建一个网站,它需要输入日期时间(从c#端点生成)在世界上的一个位置(例如新加坡/伦敦),然后显示当前时间从该位置并开始"滴答"
当时钟滴答(和加载)时,我需要它搜索一个datetime数组,其中包含开始和结束日期,其中定义了一天中的30分钟时间段。
有了这两条信息,我需要得到当前时间所在项的数组索引(数组如下所示)
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:45am,那么返回的时隙索引应该是7。使用此功能的原因是,每次它进入一个新的时间段时,它都会更新屏幕上的内容(通过某种端点)。我拉我的头发,但是从c#(作为一个字符串)得到一个日期对象,开始一个滴答作响的时钟,然后检查上面的数组。希望能提供一些粗略的指导。
一个示例输入字符串(从我的c#端点生成)是:'09-16-2015 03:24:36'
Moment.js可能是你在这个项目中最好的朋友。http://momentjs.com/docs/
它执行各种日期魔术,包括处理许多不同格式的字符串到datetime值的转换。
相关文章:
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- MongoDB嵌套对象数组后查询
- jQuery对象从html表中查询为两个一维数组,用于Chartist图表
- 使用查询将对象数组发布到asp.net-mvc控制器操作的正确方法是什么
- 数组数据排序类似mysql查询
- 基于其他属性查询多维数组属性
- 解析查询查找方法返回对象而不是数组
- angularjs $resource将查询资源列表转换为对象数组
- Jquery数组查询不起作用
- 使用Undercore.js查询数组
- JQuery的PHP查询数组变量
- 通过将$resource查询数组添加到AngularJS中另一个数组的底部来进行分页加载
- 如何查询数组中的元素
- MongoDB:查询数组上的浮点数范围
- 解析云查询数组包含值
- PHP 查询数组到 Javascript Google Maps 迭代器
- 在mongodb中使用Node js查询数组项
- 我们如何在mongodb的node js中查询数组元素
- 查询数组 JavaScript
- 在MongoDB中查询数组中的数组;更新如果存在,插入如果为空