【问题标题】:How to set correct timezone for Google Classroom coursework如何为 Google 课堂课程设置正确的时区
【发布时间】:2019-05-06 20:06:20
【问题描述】:

通过 Classroom API 创建新课程作业时,可以添加“到期”日期和时间( Classroom API TimeOfDay reference ) 并且说明说“日期和时区要么不重要,要么在其他地方指定。”。

在上课的情况下,我的期望是发送的数字是显示的数字(老师通常知道“上午 11 点”对班级意味着什么)。

然而,实际发生的是与API通信的服务器所在的时区用于解释时间。 IE。如果教师距离后端服务器两个时区,则时间将超过两个小时。

文档有误吗?还是有一些我找不到的“指定其他地方”的方法?

【问题讨论】:

  • AFAIK,这在 API 中尚不可用。尝试为此发布feature request,它可以帮助支持多个时区的班级(在不同时区学习的学生)。
  • 会的。你知道BTW它实际上在做什么吗?更多的实验似乎表明它正在服务器时区(我的是UTC)和......其他东西之间进行转换。创建类时使用的时区?

标签: google-classroom


【解决方案1】:

这个问题有点老了,但我刚刚遇到了一些相同的问题,所以在这里回复以防其他人需要帮助...

目前尚不完全清楚您是如何根据原始问题格式化创建请求的。 TimeOfDay 对象用于设置dueTime,如文档中所述,CourseWork 创建请求的所有日期和时间都应转换为UTC:https://developers.google.com/classroom/reference/rest/v1/courses.courseWork

即您需要根据您的应用程序/用户需要进行任何转换为​​ UTC,Google 课堂 UI 会自动将此日期/时间转换为用户的本地/日期时间。目前没有其他方法可以使用此 API 执行此操作

根据您的应用程序/UI 的设置方式,正确实施这一点可能会变得很棘手,并且会因夏令时等变化而变得更加复杂。例如,如果您使用 JavaScript,则 JS 日期在内部使用 UTC,用户的浏览器会跟踪该用户的当前时间,并且当前没有其他任何其他时区的内置功能。请参阅下面关于此(以及各种解决方法)的一些非常出色的解释:

我希望这至少有点帮助。如果没有更多信息,很难具体回答您关于“正在发生的事情”的问题:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多