轨道上的ruby和javascript之间的时间转换反之亦然?

如何将ruby时间转换为javascript时间,反之亦然。

Ruby on rails:

Time.now 

Javascript:

  new Date() 

也许最可靠的方法是使用自ruby时代以来的秒数和JavaScript的毫秒数。

在ruby中:

 t = Time.now # => 2014-03-12 11:18:29 -0700 t.to_f * 1000 # convert to milliseconds since 1970-01-01 00:00:00 UTC. # => 1394648309130.185 

此值可以直接提供给JavaScript Date构造函数:

 var d = new Date(1394648309130.185) d // Wed Mar 12 2014 11:18:29 GMT-0700 (Pacific Daylight Time) d.getTime() // 1394648309130 (Fractions of a millisecond are dropped) 

d.getTime()的输出除以1000可以给ruby的Time.at()

 Time.at( 1394648309130 / 1000.0 ) # => 2014-03-12 11:18:29 -0700 

从jquery到rails:

 "Wed Mar 12 2014 23:45:39 GMT+0530 (IST)".to_time 

我认为它会对你有所帮助:

ruby日期到javascript日期转换:

  

javascript日期到ruby日期转换:

在ruby类中使用此代码。

从params属性获取日期。

 date_str = params[:js_date] date_obj = Date.parse(date_str) 

欲了解更多信息,请参阅:

  http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html http://www.w3schools.com/jsref/jsref_parse.asp 

两者中的这些方法是等效的,使用:

对于Ruby:

 Time.now.httpdate 

对于Javascript:

 new Date().toUTCString() 

两者的输出:

 Tue, 04 Jul 2017 14:18:31 GMT 

使用strftime获得毫秒:

  

并使用to_date解析回Ruby:

 params[:date].to_date 

to_date接受几种格式:

 '3-2-2001' '03/02/2001' '2001-02-03' '3rd Feb 2001' '20010203'