Asp.net web api 谷歌日历API问题-夏令时
我使用GoogleCalendarAPI制作了一个应用程序,用于评估事件,最后还将事件添加到日历中。现在我们接近夏时制了,我有一个问题:API将时间转换为一小时。 例如: 当我执行这段代码时,结果是一个从13:00运行到16:00的事件。当我通过GoogleCalendarAPI试用函数使用这些参数时,它会给出相同的结果。但在后一种情况下,它会返回以下JSON响应:Asp.net web api 谷歌日历API问题-夏令时,asp.net-web-api,calendar,timezone,save,dst,Asp.net Web Api,Calendar,Timezone,Save,Dst,我使用GoogleCalendarAPI制作了一个应用程序,用于评估事件,最后还将事件添加到日历中。现在我们接近夏时制了,我有一个问题:API将时间转换为一小时。 例如: 当我执行这段代码时,结果是一个从13:00运行到16:00的事件。当我通过GoogleCalendarAPI试用函数使用这些参数时,它会给出相同的结果。但在后一种情况下,它会返回以下JSON响应: "start": { "dateTime": "2018-04-20T13:00:00+02:00", "timeZone
"start": {
"dateTime": "2018-04-20T13:00:00+02:00",
"timeZone": "Europe/Amsterdam"
},
"end": {
"dateTime": "2018-04-20T16:00:00+02:00",
"timeZone": "Europe/Amsterdam"
}
奇怪的是,它显示了+02:00的偏移量。
我希望API不会更改时间和偏移参数
当我为2018-03-20做同样的事情时,效果很好,所以我认为夏令时应该引起这个问题
是否有人能提供更多信息,说明我应该如何在不考虑夏令时影响的情况下添加事件?时区-如欧洲/阿姆斯特丹-具有夏令时影响,您无法避免它们,因为DST是由时区定义控制的一部分 而在DST期间,则是。所以这并不奇怪,这实际上是预期的行为 谷歌API正在做的可能是将一个无效的偏移量(
2018-04-05T12:00:00+01:00
)调整为一个有效的偏移量(2018-04-05T13:00:00+02:00
)-btw,两者都对应于相同的UTC时间,因此转换很好
这不会发生在3月20日,因为DST还没有开始——2018年,它从3月25日开始
如果你处理的是时区,就无法忽略DST效应,因为。我真正做错的是偏移量和时区的组合。当我去掉偏移量时,结果还可以!!
"start": {
"dateTime": "2018-04-20T13:00:00+02:00",
"timeZone": "Europe/Amsterdam"
},
"end": {
"dateTime": "2018-04-20T16:00:00+02:00",
"timeZone": "Europe/Amsterdam"
}