Ruby Time to JavaScript Date in Chrome/Firefox
Ruby Time to JavaScript Date in Chrome/Firefox
My Rails 应用程序将具有两个 Time 属性的 JSON 对象作为字符串返回,但 Firefox 没有将它们正确解析为 Date 对象。
示例 JSON 对象:
{
from: '/Date(2014-11-14 11:26:00)/',
to: '/Date(2014-11-15 12:00:00)/',
...
}
JSON 对象是使用以下 Ruby 方法创建的:
def create_json
{
from: '/Date(' + (self.starts_at.to_s) + ')/',
to: '/Date(' + (self.ends_at.to_s) + ')/',
...
}
为了解析 JSON 对象,正则表达式从字符串值中提取参数,并将其作为字符串或数值传递给 Date 构造函数,并尝试实例化两个新的 Date 对象:
var from = new Date('2014-11-14 11:26:00')
var to = new Date('2014-11-15 12:00:00')
这在Chrome中有效,但在Firefox中失败。
我测试了几个Ruby(在Rails上)方法,以找出哪种方法最适合在JavaScript中实例化新的Date对象。结果是:
红宝石上课时间.to_s(链接):
此方法的输出在谷歌浏览器中有效,但在Firefox中不起作用。
导轨 .to_formatted_s(:rfc822) (链接):
此方法的输出在谷歌浏览器中有效,在火狐中工作受限。
当我尝试解析使用德语日缩写的 dateString 时,它在 Firefox 中对我不起作用(例如"Do,13 Nov 2014 ..."而不是"星期四,2014年11月13日...")
Ruby 类时间 .to_i.to_s (链接)
此方法的输出在谷歌浏览器中不起作用,在Firefox中也不起作用,因为它返回自纪元以来的秒而不是毫秒。
转换后的红宝石类时间(... .to_i * 1000).to_s:
此方法的输出适用于谷歌浏览器和火狐浏览器 - 最后 ;-)。
希望这能为你省去一些痛苦!
相关文章:
- XMLHttpRequest - difference between Chrome & Firefox
- 长时间运行的脚本IE与Chrome/Firefox
- Javascript语法在Safari/Webkit中无效,在Chrome/Firefox中运行良好
- 代码在 Dreamweaver cs6 中工作,但在 chrome/firefox 中不起作用
- 在调试客户端时使用Chrome / Firefox
- Chrome/Firefox 使事件侦听器断点在停止之前跳过 jQuery 和其他库
- Chrome/Firefox 一次在所有 JavaScript onclick 事件上设置断点
- 未捕获的类型错误:无法读取IE和Chrome Firefox中未定义的属性“文档”很好
- 2D纹理渲染在Safari中闪烁,在Chrome / Firefox中很好
- 砌体JS插件 - Chrome / Firefox 问题
- Chrome/Firefox 中的 Rect 函数有什么用
- 在Chrome/Firefox中全屏按转义时未触发键下达事件
- 在PhantomJS中需要JS错误,但不是Chrome / FireFox
- Ruby Time to JavaScript Date in Chrome/Firefox
- 通过Google Chrome/Firefox Addon中的控制台访问/操作内容脚本
- 如何在Chrome/Firefox中导出ES6中的变量
- 在调用 window.location.asassigned 后,网页渲染在 chrome/firefox 之间的行为不
- 在将静态资源切换到CDN后,谷歌在Chrome+Firefox中映射错误,在Safari中很好:
- 粗体在Chrome/Firefox中太过粗体
- Chrome/Firefox中双美元符号选择器查询功能的来源是什么