我正在制作一个 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/