首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FullCalendar格林尼治标准时间+0200日期

FullCalendar格林尼治标准时间+0200日期
EN

Stack Overflow用户
提问于 2013-07-12 23:45:55
回答 1查看 2.5K关注 0票数 2

我对完整日历中的日期有一些问题。

代码语言:javascript
运行
复制
$("#calendar").fullCalendar(
    //...
    eventDrop:
        function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view)
        {
            console.log(event.start); // start is a date
        }
);

拖放后,我可以在我的控制台中看到:

代码语言:javascript
运行
复制
Date {Wed Jul 03 2013 16:50:00 GMT+0200}

我希望完整的日历显示的值在协调世界时,如GMT+0000。有没有办法做到这一点?

我尝试使用ignoreTimezone设置,但没有任何帮助。也许我没有正确地使用它。

EN

回答 1

Stack Overflow用户

发布于 2013-07-14 09:10:19

实际上,产生您所看到的偏移量的不是FullCalendar。它只是JavaScript的Date对象。

Date的行为是,它以协调世界时为单位在内部跟踪时间,但每当您显示它时,都会使用本地计算机的时区显示该值。没有任何直接的方法可以禁用这种行为--这就是JavaScript dates的工作方式。您可以查看this site以了解有关JavaScript日期的更多信息。

您可能需要考虑以UTC格式显式输出时间。例如:

代码语言:javascript
运行
复制
console.log(event.start.toUTCString());

如果您尝试将日历上的项视为已在协调世界时中,则FullCalendar不支持这种行为。你可以试着“假装它”,使用类似这样的东西:

代码语言:javascript
运行
复制
var dt = event.start;
var adjusted = new Date(dt.getTime() - (dt.getTimezoneOffset() * 60000));
console.log(adjusted.toUTCString());

但您可能会在夏令时开始或结束于用户本地时区的转换点周围发现有趣或奇怪的行为。避免这种情况的唯一方法是FullCalendar允许您将整个日历的时区设置为协调世界时,而AFAIK并不存在。

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

https://stackoverflow.com/questions/17618807

复制
相关文章

相似问题

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