【前端】在各浏览器下以美国时间(GMT-6.00)为标准做倒计时

今天本以为可以解决很多工作,结果一整天全耗在这个小小的倒计时上了。费了这么大劲解决的,做个备忘吧。

遇到的难题有两点:

1.火狐和IE下,js的new Date()语法问题

【转载】http://blog.csdn.net/somebodydie/article/details/8464680(这是原博主,尊重原创)

像这样创建js的Date对象new Date('1/01/2015 00:00:01')可以在chrome下通过,但是在火狐和IE下是失败的。

简单来讲new Date("2015","02","27","01","54","00")就可以全通过了。

另外,别忘了js的坑:月份从0开始!(程序员数数法)以防万一,这样写最好:new Date('01:54:00 Mar 27,2015')


【原创】

2.美国时间转换问题

用一个jquery倒计时插件做倒计时,为了正确计算全球各时区和网站基准时间(我这里以美国时间(GMT-6.00)为标准)的差值,我先获得当前客户端时间,并用toUTCString()方法获得UTC世界时间,再转换成js的Date对象后减去6小时。

问题就在转换上。用toUTCString()获得时间时间后会获得这样的字符串"Thu, 26 Feb 2015 09:42:31 GMT"

若直接用new Date(dt)转换还是会得到客户端时间,而不是之前获得的UTC世界时间。

解决方法:替换掉再转换就行了:toUTCString().replace("GMT","")


原理不是很清楚,至少问题解决了。留个备忘以待研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值