c#日期时间utc字符串和z在javascript中使用时

Jim*_*hoe 5 javascript c#

我从我的 api 获取日期,我得到的格式是"2019-04-17T15:04:28" 日期是 UTC。我回来的日期应该在末尾有 Z 还是无关紧要。如果Z不存在,Javascript日期函数会显示不正确吗?

谢谢@Esko,谢谢我认为,如果您startup.cs通过以下方式更改 json 序列化程序选项,那么在 .net 核心中的困惑是:

AddJsonOptions(opt =>{ 
  opt.SerializerSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat;
            });
Run Code Online (Sandbox Code Playgroud)

Visual Studio 中的工具提示说 在此处输入图片说明但它没有打开 Z 并且文档也没有显示 Z ( https://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_DateFormatHandling.htm )

相反,我将尝试设置一个不同的选项

opt.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc;
Run Code Online (Sandbox Code Playgroud)

Fer*_*enc 1

如果您知道时区是恒定的,则可以随时将 +0Z00 附加到日期字符串中。例如,如果服务器将时间序列化为 CEST,则"2019-04-17T15:04:28"变为"2019-04-17T15:04:28+0100"

在 new Date 中解析"2019-04-17T15:04:28"将像在您的本地时区一样解析它 - 该字符串的含义取决于它解析的时区。

解析"2019-04-17T15:04:28Z"将以 GMT 解析它 - 这意味着无论什么系统解析它,它总是指同一时间。

换句话说,"2019-04-17T15:04:28"除非您知道记录它的时区,否则时间戳是不明确的。