如何將紅寶石時間轉換爲JavaScript時間,反之亦然。紅寶石在rails和JavaScript之間的時間轉換反之亦然?
Ruby on Rails的:
Time.now
的Javascript:
new Date()
如何將紅寶石時間轉換爲JavaScript時間,反之亦然。紅寶石在rails和JavaScript之間的時間轉換反之亦然?
Ruby on Rails的:
Time.now
的Javascript:
new Date()
或許最可靠的方法是用秒以來的劃時代的紅寶石和毫秒爲JavaScript。
在紅寶石:
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的輸出可以被提供給紅寶石的Time.at()
:
Time.at(1394648309130/1000.0)
# => 2014-03-12 11:18:29 -0700
從jQuery來扶手:
"Wed Mar 12 2014 23:45:39 GMT+0530 (IST)".to_time
使用strftime得到毫秒:
<script>
date = new Date(<%= DateTime.now.strftime '%Q' %>);
</script>
而且使用TO_DATE解析回紅寶石:
params[:date].to_date
TO_DATE接受少數幾種格式:
'3-2-2001'
'03/02/2001'
'2001-02-03'
'3rd Feb 2001'
'20010203'
鏈接指向to_date –
Ups,實際上它應該是這樣:)問題是關於日期,所以to_date是適當的。 – lokson
我認爲這將幫助你:
紅寶石日期javascript日期轉換:
<script>
var date_str = <% Date.today %>;
var date_obj = new Date(date_str);
</script>
javascript日期紅寶石日期轉換:
使用該代碼的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
通過考慮這兩種語言的日期對象,我們需要考慮解析機制,假設如果我們給新的日期(1,1,2015),那麼我們將給出像這樣的結果2015年2月1日,但在紅寶石其截至2015年1月1日,它顯示從零計數月的js –
這些方法均是等價的,請使用:
對Ruby:
Time.now.httpdate
爲JavaScript:
new Date().toUTCString()
輸出兩種:
Tue, 04 Jul 2017 14:18:31 GMT
Time.zone.at(1000分之1394648309000。0) – ajahongir