gpt4 book ai didi

javascript - toLocaleString() 在不同浏览器中的不一致行为

转载 作者:可可西里 更新时间:2023-11-01 02:19:00 27 4
gpt4 key购买 nike

我正在做一个项目,我必须处理很多日期和时间问题。服务器端技术是 ASP.Net,在客户端我使用 jQuery 和 jQuery Week Calendar(一个 jQuery 插件)。

所以这是描述的问题,我从服务器接收数据时间,格式如下 2012-11-13T04:45:00.00 GMT 格式。

现在在客户端,我希望将此日期时间转换为语言环境日期时间格式,例如 IST、EST、PKT 等。

为此,我使用了 JavaScript 方法 toLocaleString()。这仅在 Chrome 中运行良好,在其他浏览器中运行不一致。

这是它在不同浏览器中的输出:

谷歌浏览器(运行良好):

调用:

new Date ("2012-11-13T04:45:00.00").toLocaleString();

输出:

Tue Nov 13 2012 10:15:00 GMT+0530 (India Standard Time)

Mozilla Firefox:

调用:

new Date ("2012-11-13T04:45:00.00").toLocaleString();

输出:

Tuesday, November 13, 2012 4:45:00 AM

Safari :

调用:

new Date ("2012-11-13T04:45:00.00").toLocaleString();

输出:

Invalid Date

Internet Explorer:

调用:

new Date ("2012-11-13T04:45:00.00").toLocaleString();

输出:

Tuesday, November 13, 2012 4:45:00 AM

现在这些是我测试过的浏览器。

这是问题:

我需要一种方法将数据时间(具有类似 2012-11-13T04:45:00.00 的格式)转换为区域设置日期和时间,无论使用哪个浏览器客户端。

最佳答案

简短的回答是否定的。 toLocaleString 可以按照开发人员的意愿实现。您的问题意味着 Chrome 会输出您想要的字符串

如果你想一致地输出那种格式,你需要使用一个单独的库——比如 DateJS .

要使用 DateJS 做到这一点,将需要一些在 core.js 中可用的标准格式说明符,以及一些仅在 extras.js 中可用的格式说明符。该文档有一个列表 all the format specifiers .

你想要的字符串是:

Tue Nov 13 2012 10:15:00 GMT+0530 (India Standard Time)

因此,要从 DateJS 获取它,您需要:

"D M d Y H:i:s \G\M\TO (e)"

DateJS 的语法是:

new Date ("2012-11-13T04:45:00.00").format("D M d Y H:i:s \G\M\TO (e)");

关于javascript - toLocaleString() 在不同浏览器中的不一致行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13428678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com