我有一個從jQuery UI Datepicker填充日期的文本字段。根據用戶在我的網站上的配置文件中選擇的日期格式,日期選擇器將使用DD-MM-YYYY或MM-DD-YYYY填充文本字段。如果日期填寫爲DD-MM-YYYY,則Ruby on Rails會正確解釋此日期,並且日期被正確存儲。但是當它是MM-DD-YYYY時,Ruby on Rails仍然認爲它是DD-MM-YYYY,所以日期存儲不正確。我怎樣才能改變Rails期待的日期格式?帶日期的文本字段,如何更改Rails期望的日期格式?
0
A
回答
1
您可以使用Date.strptime
使用任何你想要的格式:
>> RUBY_DESCRIPTION
=> "ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]"
>> require 'date'
=> true
>> Date.strptime('03/04/2010', '%d/%m/%Y').strftime('%c')
=> "Sat Apr 3 00:00:00 2010"
>> Date.strptime('03/04/2010', '%m/%d/%Y').strftime('%c')
=> "Thu Mar 4 00:00:00 2010"
所以第一個是採取03
爲一個月的一天,而第二個是把它作爲一個月。
0
您可以發送帶日期的參數(即:reverse => true),以便在日期由Rails解析之前,在控制器中可以反轉數字(如果需要)。
1
在我的愚見,你不應該使用服務器端代碼來修復或解決視圖問題。 您的服務器代碼應該只包含一種格式,並且視圖應該以用戶想要的任何方式顯示它。
如果在兩個月內爲應用程序添加新的語言環境,則只需更改視圖,而不是服務器代碼!
一個解決方案應該是使用隱藏字段。隱藏字段填充了服務器處理的格式(例如%d /%m /%Y格式)。 用於日期選擇器的文本字段應該是一個簡單的text_field_tag,它將被Rails忽略。
使用ONSELECT回調: http://jqueryui.com/demos/datepicker/#event-onSelect
填補了隱藏字段與格式良好的,當用戶選擇在日期選擇器:)一個新的日期。
0
可能會有所幫助。
a = "10-30-2010".split('-')
a[0],a[1] = a[1],a[0]
a = a.join('-')
相關問題
- 1. 從數據庫的日期字段更改日期格式
- 2. 如何將日期字符串格式化爲期望的日期格式
- 3. iPhone日期字段 - 更改日期格式
- 4. 更改文本格式的日期
- 5. 如何更改jQuery日期選擇器中的日期格式?
- 6. 如何更改日期範圍選擇器的日期格式?
- 7. 如何更改日期時間對象的日期格式?
- 8. 更改日期格式,以客戶的日期格式
- 9. 更改日期字符串的格式
- 10. Rails日期格式
- 11. 如何將日期日期轉換爲英文日期格式?
- 12. Solr日期字段格式
- 13. copyValuesToRange更改日期格式
- 14. Javascript更改日期格式
- 15. PHP - 更改日期格式
- 16. mysql更改日期格式
- 17. JSP - 更改日期格式
- 18. 更改日期格式
- 19. 更改新日期格式
- 20. 更改日期格式4
- 21. 更改日期格式
- 22. 更改日期格式
- 23. 更改日期格式C
- 24. 更改日期格式
- 25. 更改日期格式
- 26. 更改格式日期MySql
- 27. 更改格式日期
- 28. 更改日期格式C#
- 29. 更改日期格式(Javascript)
- 30. 更改日期格式