Javascript-将ISO8601 UTC时间转换为客户端';s当地时间
我在我的网站上使用asp.net mvc 5,并使用ISO8601格式将交易日期作为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日期有很多不同类型的可能性,其中之一是
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)"