Asp.net web api 谷歌日历API问题-夏令时

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

我使用GoogleCalendarAPI制作了一个应用程序,用于评估事件,最后还将事件添加到日历中。现在我们接近夏时制了,我有一个问题:API将时间转换为一小时。 例如:

当我执行这段代码时,结果是一个从13:00运行到16:00的事件。当我通过GoogleCalendarAPI试用函数使用这些参数时,它会给出相同的结果。但在后一种情况下,它会返回以下JSON响应:

"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"
  }