Office 365 REST API:更正夏令时

时间:2016-04-12 21:47:41

标签: javascript outlook office365 dst office365-restapi

Office 365 REST API返回带有时区的本地日期和时间。如文档所述,时区由this standard Windows list of zones的字符串指定。这是API返回的日期/时间值的示例,采用JSON格式:

{ DateTime: '2016-04-13T08:00:00.0000000',
  TimeZone: 'Pacific Standard Time' }

我们假设您要使用此日期 - 例如,将其解析为JavaScript Date对象。您可能认为,要解析此日期,您只需在表中查找该时区名称即可获得其偏移量。

但那不太对!因为该日期是在4月份,所以它实际上是在白天时间指定的:它反映的预约是在早上8点 PDT ,而不是PST,尽管所有出现。该日期不包含夏令时的指示,以及太平洋日光时间"根据{{​​3}},它甚至不是有效的时区。

API是否提供了任何设施来获取其中一个值的真实日光敏感时区偏移量?或者我自己在JavaScript客户端中补偿DST?

1 个答案:

答案 0 :(得分:0)

太平洋夏令时/太平洋夏令时不是时区(时区是基于地理位置的)。 Office 365 REST API中的TimeZone属性可以设置为Windows支持的任何时区,以及以下时区名称。

Etc/GMT+12

Etc/GMT+11

Pacific/Honolulu

America/Anchorage

America/Santa_Isabel

America/Los_Angeles

America/Phoenix

America/Chihuahua

America/Denver

America/Guatemala

America/Chicago

America/Mexico_City

America/Regina

America/Bogota

America/New_York

America/Indiana/Indianapolis

America/Caracas

America/Asuncion

America/Halifax

America/Cuiaba

America/La_Paz

America/Santiago

America/St_Johns

America/Sao_Paulo

America/Argentina/Buenos_Aires

America/Cayenne

America/Godthab

America/Montevideo

America/Bahia

Etc/GMT+2

Atlantic/Azores

Atlantic/Cape_Verde

Africa/Casablanca

Etc/GMT

Europe/London

Atlantic/Reykjavik

Europe/Berlin

Europe/Budapest

Europe/Paris

Europe/Warsaw

Africa/Lagos

Africa/Windhoek

Europe/Bucharest

Asia/Beirut

Africa/Cairo

Asia/Damascus

Africa/Johannesburg

Europe/Kiev

Europe/Istanbul

Asia/Jerusalem

Asia/Amman

Asia/Baghdad

Europe/Kaliningrad

Asia/Riyadh

Africa/Nairobi

Asia/Tehran

Asia/Dubai

Asia/Baku

Europe/Moscow

Indian/Mauritius

Asia/Tbilisi

Asia/Yerevan

Asia/Kabul

Asia/Karachi

Asia/Tashkent

Asia/Kolkata

Asia/Colombo

Asia/Kathmandu

Asia/Almaty

Asia/Dhaka

Asia/Yekaterinburg

Asia/Rangoon

Asia/Bangkok

Asia/Novosibirsk

Asia/Shanghai

Asia/Krasnoyarsk

Asia/Singapore

Australia/Perth

Asia/Taipei

Asia/Ulaanbaatar

Asia/Irkutsk

Asia/Tokyo

Asia/Seoul

Australia/Adelaide

Australia/Darwin

Australia/Brisbane

Australia/Sydney

Pacific/Port_Moresby

Australia/Hobart

Asia/Yakutsk

Pacific/Guadalcanal

Asia/Vladivostok

Pacific/Auckland

Etc/GMT-12

Pacific/Fiji

Asia/Magadan

Pacific/Tongatapu

Pacific/Apia

Pacific/Kiritimati

在这种情况下,应用程序需要自己处理它,这意味着你需要在他的JavaScript客户端中补偿DST。