在Angular 5应用程序中,我们使用Microsoft Graph从邮箱检索邮件消息,然后发送回复。为了创建回复,我们使用REST API:

https://graph.microsoft.com/v1.0/me/messages/{message ID}/createReply


这会创建一个时区为UTC的答复,但我们希望它为GMT + 1。例如,在邮件正文中说:

来自:梅利莎·范·迪克(Melissa van Dijk)
发送:2018年2月23日星期五9:51:49 AM(错误的时间戳)
至:梅利莎·范·迪克(Melissa van Dijk)
主题:见面共进午餐?

我们检查了Office 365邮件帐户中的设置,并指定本地时区为GMT + 1(布鲁塞尔,阿姆斯特丹...)。
(通过Outlook Webmail答复时,我们会获得正确的时间戳)。

这是一个错误还是我们必须自己纠正此时间戳?还是我们需要通过REST调用传递时区?

提前致谢!

最佳答案

我不确定是否可以在HTML消息正文中调整人为设置的时间戳,但是您当然可以在响应的JSON的其他字段中使用ISO 8601格式的时间戳。例如,您会发现:



{
  ...
  "sentDateTime": "2018-02-23T09:51:49Z",
  ...
}


尽管这也是UTC(用Z表示),但您可以使用JavaScript Date对象,Angular自己的datetime函数或您喜欢的时间库(例如Luxon,Moment或Date-fns)轻松解析它。从那里开始,以当地时间显示它是微不足道的。

关于timezone - Microsoft图形createreply错误的时区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48945505/

10-12 17:30