javascript - FullCalendar:默认时区,与客户的位置无关

标签 javascript timezone fullcalendar timezone-offset

我正在尝试使用 fullcalendar 创建约会安排应用程序。我想在所有位置仅在一个时区(即 EST)中表示日历上的时隙。因此,即使来自 PST 区域的人正在查看日历,时间也应该是 EST。此外,即使他/她安排了点击时间段,时间也应该在美国东部时间。无论位置如何,如何为日历设置默认时区。

最佳答案

我相信这可以通过在初始化日历时指定时区字符串来完成:

$('#calendar-selector-id-name').fullCalendar({
    timezone: 'American/Indiana/Indianapolis'
});

你提到了 gcal.js 等等,我想知道是否需要这样定义它:

$('#calendar-selector-id-name').fullCalendar({
    timezone: 'American/Indiana/Indianapolis',
    eventSources:[{
        url: 'https://www.google.com/calendar/feeds/...',
        currentTimezone: 'American/Indiana/Indianapolis'
    }]
});

Demo

Docs

Timezone problems when using Google Calendar #1801

编辑

@jaykumarark 做了一些进一步的研究并挖掘出以下内容:

Google Calendar - htmlLink not always defined #2844

这表明对于 GoogleApps 日历,未为仅共享空闲/忙碌信息并隐藏事件详细信息的事件提供初始化的 htmlLink 变量。

Jay 还注意到发现了以下解决方法:

“gcal.js 中的注释行 144 //url=injectQsComponent(url, 'ctz=' + timezoneArg); 我可以表示特定时区中的时间,而不管位置如何。”

所以,总结一下:

  • 目前,与位置无关的设置时区似乎可行 GoogleApps 日历很好,只要 3 个“共享所有 信息,...”已选择共享设置。
  • > Adam Shaw已经承认的问题 htmlLink 需要进行存在性检查,即在某些时候 javascript 错误将得到解决。
  • Jay 为那些希望实现的人提供了解决方法 一个同义的解决方案。

请参阅下面的评论以获取更多信息/说明。

关于javascript - FullCalendar:默认时区,与客户的位置无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35043289/

相关文章:

javascript - 使用 AngularJS 下载 zip 文件

android - jodatime如何知道夏令时是否开启

javascript - 使用 Bootstrap 缩小列之间的差距

javascript - 如何将 PHP 脚本与 JavaScript 和 Bootstrap 链接

javascript - 检测客户端是平板电脑还是手机的最佳方法是什么?

javascript - 单击自定义按钮时事件的全日历执行顺序

javascript - Fullcalendar js 事件重叠

java - 如何将字符串转换为时区 : Android

Java日期时间格式转换

javascript - 使用 Google 日历在 Fullcalendar 中选择事件