Javascript - 将 ISO8601 UTC 时间转换为客户端的本地时间

Dyl*_*n Y 2 javascript c# asp.net-mvc-5

我正在为我的网站使用 asp.net mvc 5,并且我DateTime使用 ISO8601 格式将交易日期作为对象从模型发送到 UTC 视图2019-03-15T22:32:04.9143842Z

如果我2019-03-15T22:32:04.9143842Z从模型接收到一个字符串,我需要一个可以将其转换为客户端本地时间的函数。因此,如果客户端在 PST 中,则应将其转换为 PST。

Mat*_*int 6

您可以简单地将此格式传递给Date对象构造函数(或 to Date.parse)。

var d = new Date("2019-03-15T22:32:04.9143842Z");
Run Code Online (Sandbox Code Playgroud)

Z上月底是至关重要的,因为它表明UTC。

然后,您可以使用类似.toString().toLocaleString()发出本地时间的函数。您可以在此处找到MDN 上Date对象引用。

在美国太平洋时区运行时:

console.log(d.toString());
//=> "Fri Mar 15 2019 15:32:04 GMT-0700 (Pacific Daylight Time)"
Run Code Online (Sandbox Code Playgroud)

或者,你可以使用一个库,如日期,FNS世昕,或瞬间你的日期格式以特定方式的字符串。