Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-将ISO8601 UTC时间转换为客户端';s当地时间_Javascript_C#_Asp.net Mvc 5 - Fatal编程技术网

Javascript-将ISO8601 UTC时间转换为客户端';s当地时间

Javascript-将ISO8601 UTC时间转换为客户端';s当地时间,javascript,c#,asp.net-mvc-5,Javascript,C#,Asp.net Mvc 5,我在我的网站上使用asp.net mvc 5,并使用ISO8601格式将交易日期作为DateTime对象从模型发送到UTC视图-2019-03-15T22:32:04.9143842Z 如果我从模型中收到字符串形式的2019-03-15T22:32:04.9143842Z,我需要一个函数,可以将其转换为客户端的本地时间。因此,如果客户机处于PST中,则应将其转换为PST。此日期时间类型/标准为iso 8601。 如何用javascript解析ISO8601日期有很多不同类型的可能性,其中之一是

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


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

此日期时间类型/标准为iso 8601。 如何用javascript解析ISO8601日期有很多不同类型的可能性,其中之一是

new Date(isoDateString)
其他包括(
Date.parse(isoDateString)
)或自己手动解析的包。

然后,您可以获取客户端时区并将时区更改为它/或任何所需的时区。

您只需将此格式传递给
日期
对象构造函数(或传递给
日期.解析

末尾的
Z
非常关键,因为它表示UTC

然后可以使用发出本地时间的函数,如
.toString()
.toLocalString()
。您可以找到
日期
对象引用

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

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

或者,您可以使用诸如或之类的库,以特定方式将日期格式化为字符串。

请澄清哪部分是问题所在-将ISO8601转换为.Net
DateTime
,在服务器上计算客户端时区,在浏览器中将ISO8601转换为本地时间?(@DiogoRocha建议复制一个,但这正是post所要求的,它不太可能对您有所帮助,因为您不知道服务器上客户端的时区)
console.log(d.toString());
//=> "Fri Mar 15 2019 15:32:04 GMT-0700 (Pacific Daylight Time)"