MomentJS,FullCalendar时间部分操作

时间:2017-11-22 12:26:31

标签: javascript momentjs fullcalendar-3

我使用最新的fullcalendar和momentjs。我的时区是 GMT + 0530

我的流程步骤是;

步骤1)在Fullcalendar中选择:func(...)我捕获用户选择创建事件的日期/日期范围。我将开始/结束日期作为时刻对象。如果我选择一天; momentjs值是;

开始: 2017年11月1日星期三00:00:00 GMT + 0000

结束: 2017年11月2日星期四00:00:00 GMT + 0000

问题1 - 我不能将结束日期定在同一天吗?否则Fullcalendar会将事件创建2天。目前我通过减去1天的时间来减少工作(这看起来并不正确)。

步骤2)使用滑块我捕捉事件开始/结束时间。在滑块开始/结束时,在相反的两端是从0到1440的分钟。我将选定的时间范围转换为时刻对象;

moment().startOf('day').add(start, 'minutes'); //slider's left drag
moment().startOf('day').add(end, 'minutes'); //slider's right drag

步骤3) - 使用步骤1 将所选时间设置为所选日期;

startDate.set({ 'hour': startTime.get('hour'), 'minute': startTime.get('minute') });

endDate.set({ 'hour': endTime.get('hour'), 'minute': endTime.get('minute') });

现在,事件开始/结束的时刻.toString()显示为一个例子;

日期1: 2017年11月1日星期三07:00:00 GMT + 0000

日期2: 2017年11月1日星期三12:30:00 GMT + 0000 //我做一个date.subtract(1,' d')以避免fullCalendar呈现活动到额外的一天。想知道是否有更好的方法

现在我想要的活动正​​确地设定为2017年11月1日星期三上午7点到下午12点半

问题2 在Fullcalendar视图中,渲染是正确的。但是在事件阵列中;每个时刻对象的日期都是正确的时间已经重置

相当令人沮丧......所以我只是将FullCalendar放在一边,并使用应该有效的最终日期对momentjs进行一些测试。

日期1: 2017年11月1日星期三07:00:00 GMT + 0000

日期2: 2017年11月1日星期三12:30:00 GMT + 0000

我使用时刻将日期1转换为时刻对象(startDate,' date'); 它创建了一个时刻对象,在Console中它显示了我上面的日期/时间。如果我这样做的话;

start.hour() or start.minute() //= 0

上面应该给我一小时= 07,分钟= 00但不是0?

start.toString() // = Mon Nov 20 2017 00:00:00 GMT+0530
start.get('date') // = 20!!!!

但是我希望它能让我回来 2017年11月1日星期三07:00:00 GMT + 0000

问题3 我做错了什么?

0 个答案:

没有答案