时刻、日期和本地日期时间
moments, dates and datetime-local
我正在尝试覆盖 fullCalendar
ClickEvent
并使用开始和结束日期 moment
来填充 <input type="datetime-local"
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: false,
droppable: true,
//edit existing
eventClick: function(calEvent, jsEvent, view) {
var startDateString = calEvent.start.toDate().toISOString();
$('#startDate').val(startDateString.replace('Z', '') );
我在对[下面的片段]在设置值时期望的内容进行了广泛的研究后实施了上述内容( and here)
<input type="datetime-local" name="startDate" id="startDate" class="ui-widget-content" style="width:100%"
>
然而,由于时区和我使用的是 toDate()
(参见 ),上面的时间总是错误的。
示例:我单击一个事件,该事件显示它在 9:30 am 开始,但输入框设置为 2:30 pm。我怎样才能形成我的日期,以便当它们出现在我的输入框中时时间相同?
仅供参考:
我试过只使用 calEvent.start.format()
但是我的输入不会接受它作为有效值(控件中没有设置任何内容,与下面显示结束日期的图像中看到的相同)。我相信这是因为不是 "T" 分隔日期和时间,而是 "A" 或 "P" 分隔日期和时间。
我试过使用 datetime
(而不是 datetime-local
),但据我所知这只是一个文本框。 datetime-local
有箭头和分隔符。下图显示了差异,开始日期为 datetime
,结束日期为 datetime-local
显示我在何处生成的校准事件:
var technicianSchedule = {technician:technicians[Math.floor((Math.random() * technicians.length))] , start:datetimeStart , end:datetimeEnd, title: "Title "+i,description: "Desc "+i};
technicianSchedules.push(technicianSchedule);
我需要调用 .toLocaleString()
日期对象来删除时区内容
var technicianSchedule = {technician:technicians[Math.floor((Math.random() * technicians.length))] , start:datetimeStart.toLocaleString() , end:datetimeEnd.toLocaleString(), title: "Title "+i,description: "Desc "+i};
technicianSchedules.push(technicianSchedule);
我正在尝试覆盖 fullCalendar
ClickEvent
并使用开始和结束日期 moment
来填充 <input type="datetime-local"
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: false,
droppable: true,
//edit existing
eventClick: function(calEvent, jsEvent, view) {
var startDateString = calEvent.start.toDate().toISOString();
$('#startDate').val(startDateString.replace('Z', '') );
我在对[下面的片段]在设置值时期望的内容进行了广泛的研究后实施了上述内容(
<input type="datetime-local" name="startDate" id="startDate" class="ui-widget-content" style="width:100%"
>
然而,由于时区和我使用的是 toDate()
(参见
仅供参考:
我试过只使用 calEvent.start.format()
但是我的输入不会接受它作为有效值(控件中没有设置任何内容,与下面显示结束日期的图像中看到的相同)。我相信这是因为不是 "T" 分隔日期和时间,而是 "A" 或 "P" 分隔日期和时间。
我试过使用 datetime
(而不是 datetime-local
),但据我所知这只是一个文本框。 datetime-local
有箭头和分隔符。下图显示了差异,开始日期为 datetime
,结束日期为 datetime-local
显示我在何处生成的校准事件:
var technicianSchedule = {technician:technicians[Math.floor((Math.random() * technicians.length))] , start:datetimeStart , end:datetimeEnd, title: "Title "+i,description: "Desc "+i};
technicianSchedules.push(technicianSchedule);
我需要调用 .toLocaleString()
日期对象来删除时区内容
var technicianSchedule = {technician:technicians[Math.floor((Math.random() * technicians.length))] , start:datetimeStart.toLocaleString() , end:datetimeEnd.toLocaleString(), title: "Title "+i,description: "Desc "+i};
technicianSchedules.push(technicianSchedule);