【问题标题】:Rails and JavaScript. Wrong length on unix timestampsRails 和 JavaScript。 unix 时间戳的长度错误
【发布时间】:2011-06-30 14:26:53
【问题描述】:

我正在使用 Appcelerator 在 Javascript 中开发应用程序,我需要比较 两个不同的 UNIX 时间戳。

问题是一个比另一个长,即使不是,它也会变大。

长的是通过这样的javascript生成的:

var d = new Date();

value.httpCacheCreated = d.getTime();

结果是:

1309443190619

其人类可读的价值是:

Thu, 30 Jun 2011 14:13:10 gmt

短的是这样从 Rails 生成的:

current_user.updated_at.to_time.to_i

结果是:

1309442086

其人类可读的价值是:

Thu, 30 Jun 2011 13:54:46 gmt

当你看人类可读的时候,短的比较新,但如果我比较它们,长的会更长,比较失败。

那么我怎样才能使它们的尺寸相同?

【问题讨论】:

    标签: javascript ruby-on-rails-3 unix-timestamp


    【解决方案1】:

    javascript getTime() 为您提供毫秒数,而 Ruby 的 Time#to_i 为您提供秒数

    只需去掉 javascript 版本中的最后 3 位数字,您将拥有 ruby​​ 版本

    【讨论】:

    • 它不起作用:new Date(Number(new Date().getTime().toString().substring(0, 10))).toISOString()JS unix time 的长度为 13,ruby 的长度为 10,但是将其转换为 10 会将时间重置回 1970
    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 2018-01-02
    • 2011-10-01
    • 1970-01-01
    • 2014-04-06
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多