【问题标题】:Grails Fullcalendar Timezone IssueGrails Fullcalendar 时区问题
【发布时间】:2011-11-29 21:00:10
【问题描述】:

我正面临一个关于 grails 和 js fullcalendar 的非常奇怪的问题。

我的用户在数据库中存储了自己的时区,例如ECT

当用户插入他们的事件时,所有日期都以 UTC 格式存储。这是在 Bootstrap 中设置的:

        TimeZone.setDefault(TimeZone.getTimeZone("UTC"))

我听说以 UTC 格式存储所有日期是个好主意。因此,当德国用户输入 1.12.2012 08:00 时,其存储为 1.12.2012 07:00。这很好。

现在,当我想将数据库中的这些值显示到日历中时,fullcalendar 不考虑时区(我设置了 ignoreTimezone: false),因此日期在 2012-12-01 08:00+01 时通过 json 传递: 00 但它显示为 08:00 am 而不是 07:00。我在这里做错了什么?这个问题把我逼疯了。

【问题讨论】:

  • 你能看看这篇文章,看看是否有帮助..stackoverflow.com/questions/5724142/….
  • 我已经检查了这篇文章,但在我的情况下,完整的日历没有显示正确的值。问题,如果我将值 2012-12-01 08:00+01:00 传递给完整日历,应该显示什么时间?

标签: grails fullcalendar


【解决方案1】:

您可以通过在 javascript 中手动添加事件来签入吗?我猜问题出在 JSON 格式上。 fullcalendar.js 中的 parseISO8601 函数希望您的对象采用某种格式,因此如果您的格式不正确,那么您必须进行试验,看看什么是有效的。

引自fullcalendar网站。

当为事件或事件源指定事件对象时,您可以 指定 IETF 格式的字符串(例如:“Wed, 18 Oct 2009 13:00:00 EST”), ISO8601 格式的字符串(例如:“2009-11-05T13:15:30Z”)或 UNIX 时间戳。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多