如何使用javascript将日期字符串转换为用户本地格式?

如何使用javascript将日期字符串转换为用户本地格式?,javascript,Javascript,我想将日期字符串(如2020-01-24T10:28:26.685502+00:00)转换为用户本地格式 我该怎么做呢。有人能帮我吗。谢谢。这取决于JavaScript代码的运行位置。如果您的JavaScript代码正在用户浏览器中运行,您可以使用前面提到的@Armen的日期构造函数,它将根据用户浏览器中的区域设置创建数据 例如,如果打开浏览器控制台并键入: new Date('2020-01-24T10:28:26.685502+00:00'); // result for me =>

我想将日期字符串(如2020-01-24T10:28:26.685502+00:00)转换为用户本地格式


我该怎么做呢。有人能帮我吗。谢谢。

这取决于JavaScript代码的运行位置。如果您的JavaScript代码正在用户浏览器中运行,您可以使用前面提到的@Armen的日期构造函数,它将根据用户浏览器中的区域设置创建数据

例如,如果打开浏览器控制台并键入:

new Date('2020-01-24T10:28:26.685502+00:00');
// result for me => Fri Jan 24 2020 05:28:26 GMT-0500 (Eastern Standard Time)
请注意,我所在时区的时间已更改

类似地,如果只想以适合用户的格式显示日期,可以使用.toLocaleDateString方法:

在这里,JavaScript使用的是我的浏览器的默认语言环境

如果我的浏览器设置为西班牙语言环境es us,则结果的格式将不同:

new Date('2020-01-24T10:28:26.685502+00:00').toLocaleDateString();
// result => 24/1/2020
如果您在node.js应用程序中执行此操作或使用服务器端渲染时,javascript代码在服务器上执行,则上述方法将使用服务器的默认区域设置。在此场景中,您有两种选择:

请相信用户的区域设置与服务器的区域设置相同 捕获用户的区域设置=>这需要从用户的配置文件或帐户设置中进行选择。不过,这对你的网站来说可能没有意义,在这种情况下,你别无选择,只能选择第一个选项。 如果获取用户的区域设置对您有意义,您可以通过将区域设置传递到toLocaleDateString或toLocaleTimeString方法来格式化日期

例如,如果我在以下方面通过了英国语言环境:

new Date('2020-01-24T10:28:26.685502+00:00').toLocaleDateString('en-gb')
// result => 24/01/2020

我的英语语言环境的默认值为1/24/2020月/日/年,因此您可以看到英国的日期格式不同,它将日期放在第一天/月/年。

试试这个:新日期'2020-01-24T10:28:26.685502+00:00'new date'2020-01-24T10:28:26.685502+00:00'。TolocalStringas@uminder刚刚说:您可以使用新日期日期'2020-01-24T10:28:26.685502+00:00'。toLocaleString,然后您将获得类似于2020年1月24日12:28:26的内容
new Date('2020-01-24T10:28:26.685502+00:00').toLocaleDateString('en-gb')
// result => 24/01/2020