了解RFC3339 TimeStamp标准

时间:2016-12-16 13:48:30

标签: javascript api rfc3339

我目前正在创建一个连接到Google Calendar API的简单登录表。当用户输入提示信息(包括开始日期时间和结束时间)时,应根据用户输入创建日历事件。我成功了,所以它制作了一个日历活动。然而,时机非常奇怪,我不明白时间是如何产生的。

对于下面的代码,我假设它会在2016-12-16下午2点创建一个日历活动,但它不会,它会在2016-12-16上午9点创建一个活动。这是为什么?谢谢!

 function makeEvent(){
  //Get the variable details
  var eventDet = getInput();
  var event = {
      'summary': eventDet[0] + ' Appointment',
      'description': 'Telephone #: ' + eventDet[1] + ' Client Status: ' + eventDet[3],
      'start': {
        'dateTime': '2016-12-16T14:00:00Z',
        'timeZone': 'America/New_York'
      },
      'end': {
        'dateTime': '2016-12-16T14:00:00Z',
        'timeZone': 'America/New_York'
      },
      'attendees': [
        {'email': 'lpage@example.com'},
        {'email': 'sbrin@example.com'}
      ],
      'reminders': {
        'useDefault': false,
        'overrides': [
          {'method': 'email', 'minutes': 24 * 60},
          {'method': 'popup', 'minutes': 10}
        ]
      }
  };

1 个答案:

答案 0 :(得分:0)

…Z始终为UTC。 2016-12-16T14:00:00Z,纽约市上午9点。

要在纽约时间下午2点,请尝试不使用Z,以便根据timezone字段对其进行解析,或者只是传递2016-12-16T19:00:00Z,这是您想要的时间戳。