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

前端之家收集整理的这篇文章主要介绍了javascript – 不同浏览器中toLocaleString()的行为不一致前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开展一个项目,我必须在日期和时间上处理很多.服务器端技术是ASP.Net,在客户端我使用jQuery和jQuery Week Calender(一个jQuery插件).

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

现在在客户端我想要这个Date Time被转换为区域设置日期时间格式,就像IST,EST,PKT等一样.

为了达到这个目的,我正在使用java脚本方法toLocaleString(),这只能在chrome中正常工作,在其他浏览器中它的工作不正常.

以下是其在不同浏览器中的输出

Google Chrome(正常工作):

呼叫:

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

输出

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

火狐浏览器:

呼叫:

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

输出

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

苹果浏览器:

呼叫:

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

输出

Invalid Date

IE浏览器:

呼叫:

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

输出

Tuesday,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)");
原文链接:https://www.f2er.com/js/154510.html

猜你在找的JavaScript相关文章