2016-01-14 111 views
0

尋找將"01/16/2016"這樣的字符串轉換爲軌道可處理的友好日期格式的最佳方法。重新格式化日期軌道4

我有一個日曆,用戶可以在其中選擇from_dateto_date ..基於這些參數,我的搜索將過濾符合時間段的結果。

不幸的是,rails無法處理當前的格式。不確定最好的方式去做這件事。我可以改變搜索表單的javascript以不同的方式顯示日期,但是我覺得這種格式最適合用戶使用。

thx!

+0

爲什麼不使用date作爲data_type? – CottonEyeJoe

回答

2

您可以使用標準的Ruby Date類:

some_date = Date.strptime('01/16/2016', '%m/%d/%Y') 

some_date將是Date一個實例,然後你可以在軌操作和你想要使用strftime任何方式重新格式化。

1

像taglia說,你可以使用strptime

Date.strptime('01/16/2016', '%m/%d/%Y') 

你可以改變從DD/MM日曆日期格式/ YYYY以MM/DD/YYYY,那麼你可以使用

require 'date' 
date = DateTime.parse("16/01/2016") 
=> #<DateTime: 2016-01-16T00:00:00+00:00 ((2457404j,0s,0n),+0s,2299161j)> 
date.strftime('%a %b %d %H:%M:%S %Z %Y') 
=> "Sat Jan 16 00:00:00 +00:00 2016" 

如果只需要日期,則可以使用Date而不是DateTime。