我正在开展一个项目,我必须在日期和时间上处理很多.服务器端技术是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)");