相关疑难解决方法(0)

过去的夏令时转换规则的JavaScript时区错误

2007年,我们改用夏令时的日子发生了变化.在此更改之前属于DST扩展范围内的任何日期都会在Chrome和Firefox中报告错误的时区偏移.这就像Firefox和Chrome没有注意到DST曾经有过不同日子的事实.

如果您运行以下脚本,它将报告240分钟的偏移量.这是不正确的,它应该报告300分钟.IE10正确地做到了这一点.有谁知道修复?

alert(new Date('11/04/2004').getTimezoneOffset());
Run Code Online (Sandbox Code Playgroud)

更新:

这是我刚刚攻击的一段有趣的代码(见下文).令人惊讶的是,除了IE,每个浏览器的大多数日期都有多远.将开始日期和结束日期与此进行比较:http://www.timeanddate.com/worldclock/timezone.html?n = 77&syear = 2000

我最后用我自己的getTimezoneOffset替换了Date的原型,它根据硬编码表计算它.这对我们有用,因为我们只在美国做生意.这是我能想象到的最糟糕的解决方案......

<!DOCTYPE html>
<html>
    <head>
        <title>Moment Test</title>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.0.0/moment.min.js"></script>
        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <script>
var lastOffset = null;
var $tbody = null;
var endDate = new Date('01/01/2021');

function addDate(d) {
    if($tbody === null)
        $tbody = $('#dates');

    var offset = d.getTimezoneOffset();
    var s = '';
    if(lastOffset != offset) {
        if(lastOffset != null)
            s = '<tr style="background-color: red;">';
        lastOffset = offset;
    }
    else {
        s = '<tr>';
    }
    var m = …
Run Code Online (Sandbox Code Playgroud)

javascript firefox timezone google-chrome node.js

23
推荐指数
1
解决办法
9201
查看次数

Firefox中的日期问题

我想在我的页面中解析日期到Javascript的Date.

所以我在我的页面中有这个

<span>01-07-2012 01:04 PM</span>
Run Code Online (Sandbox Code Playgroud)

我有Javascript代码解析这个值到目前为止

var tagText = $(this).html();
var givenDate = new Date(tagText);
alert(givenDate);
Run Code Online (Sandbox Code Playgroud)

这是我在不同的浏览器中得到的

IE:

UTC 1月7日13:04:00 UTC + 0400 2012

铬:

星期六07七月2012 13:04:00 GMT +0400(高加索标准时间)

火狐:

失效日期

为什么Firefox无法识别我的约会?我必须改变什么才能使它适用于所有主流浏览器?

这是jsfiddle http://jsfiddle.net/mgER5/1/

javascript firefox cross-browser

4
推荐指数
1
解决办法
2457
查看次数