【发布时间】:2019-09-15 21:30:38
【问题描述】:
我有一个 UTC 格式的日期和时间,例如:
我的日历生成代码。我正在使用fullcalendar.io。
//for loop start
sessionCalendar.push(
{
title: `${course["course_name"]}`,
start: start_date_time.split(" ").join("T"),
end: end_date_time.split(" ").join("T"),
},
)
//for loops end
如您所见,我在日期和时间的中间添加了T 以使其成为 UTC 格式。
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'dayGrid', 'timeGrid', 'list', 'interaction' ],
header: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
defaultDate: '2019-04-12',
navLinks: true,
editable: false,
eventLimit: true,
events: sessionCalendar,
timeZone: timeZone // var timeZone = "Asia/Kolkata"
});
calendar.render();
在上面的代码中,我设置了动态的 timeZone 值。不过,我在 UTC 格式的屏幕截图中看到的日期和时间与 start_date_time 相同。
如何将 UTC 日期和时间转换为用户指定的时区?
根据评论。我在末尾添加了“Z”
【问题讨论】:
-
尝试在末尾添加一个“Z”以将日期解析为 UTC。
new Date( '2019-05-08T11:18:00' ) !== new Date( '2019-05-08T11:18:00Z' );。然后您可以从该 Date 对象中获取本地日期时间。 -
我添加但没有变化。日历仍显示相同的日期和时间。
-
猜你必须深入研究 fullcalendar 文档才能找到图书馆希望你设置时区的正确方式。 ://
-
是的,我也在阅读文档,如果有人知道出了什么问题,我也会在这里发布。无论如何感谢您的帮助。
-
只是为了我的理解你为什么要
start_date_time.split(" ").join("T")?
标签: javascript jquery timezone fullcalendar momentjs