javascript - JS Date 函数在 Safari 中不起作用

标签 javascript ruby-on-rails-3 date

我正在制作一个 Rails 应用程序,并通过 ajax 调用从服务器获取日期。从服务器收到的日期是 2012-12-23 18:44:00 UTC。当我这样做时 newYear = new Date(data) (其中 data 是收到的日期)我得到 Sun Dec 23 2012 19:44:00 GMT+0100 (CET)在 Chrome 中,无效日期 在 Safari 中。

(我实际上想从服务器获取日期并将其转换为毫秒,以便我可以将其与今天的日期进行比较。)

所以它在 Chrome 中运行良好,但在 Safari 中则不行。

如何解决这个问题?

.js 文件:

$ ->
    $(document).ready ->
        $.post "/get_time", (data) ->
            newYear = new Date(data)
            today = new Date().getTime()
            newYearMS = newYear.getTime()
            $("#ggg").html newYearMS
            if newYearMS < today
                $("body").css "background-image", "url('/assets/HypePlay.png')"
            else
                $("#play_button").hide()
                $("#counter").countdown
                    until: newYear
                    format: "HMS"
                    expiryUrl: "/"
                    $('#hhh').html data

Controller 的 return_time 函数:

def return_time
    date = Item.where(:end => Time.zone.now .. '2040-12-28 08:08:00').order("launch ASC").limit(1).first.launch
    render text: date
  end

最佳答案

您应该从服务器返回时间(以毫秒为单位),然后在 new Date() 中使用它,而不是返回日期字符串。

date object确实接受很多不同的格式,但我可以想象 UTC 部分会在 Safari 中破坏它。

关于javascript - JS Date 函数在 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14010054/

相关文章:

javascript - 如何在谷歌闭包库中使用 goog.webgl

javascript hackerranks sherlock 和数组性能问题

Javascript正则表达式适用于不在某些字符之间的所有单词

ruby-on-rails-3 - Rails 3 内联错误

ruby-on-rails - 可以解释load_and_authorize_resource

ruby - 有什么理由使用日期?

javascript - 如何计算两个日期之间经过的 "quarters"的数量,其中季度不仅仅是一年中的一个季度,而是特定日期?

javascript - 将错误消息传递给 ajax 错误处理程序

ruby-on-rails-3 - css 结合 rails 3 cocoon gem

java - 如何将 Date.getTime() 转换为小时并计算差异