簡體   English   中英

Rails將datetimepicker日期字符串轉換為datetime數據類型

[英]Rails convert datetimepicker date string to datetime data type

我正在使用Ruby on Rails構建“待辦事項列表”應用程序,並且“ Task資源中的每個項目都有一個使用gem'datetimepicker 'datetimepicker'創建的deadline屬性。

'datetimepicker'將日期作為string數據類型輸入,格式為"12/13/2012""%m/%d/%Y"

我正在嘗試按deadline屬性中的天值對task元素進行分組。 我找到了一篇有關如何執行此操作的文章(盡管我認為其中包含一個錯字):

https://ariejan.net/2007/01/12/rails-group-results-by-week-using-group_by/

但是,我寧願在tasks_controller進行工作,而不是在task模型中進行工作(也許該模型是執行此操作的更簡潔的方法?我很討厭,並且對此持開放態度)。

我在group_by方法上找到了另一篇文章,它演示了一個大概的過程:

http://railscasts.com/episodes/29-group-by-month?view=asciicast

這篇文章對我來說看起來更干凈。 它要求我使用.beginng_of_day方法將所有task項在deadline均具有相同的天值。

我對這兩種方法都遇到了問題,即它們將deadline datetime視為datetime數據類型。 我想使用.to_datetime方法來轉換task.deadline ,但是'datetimepicker'以完全錯誤的方式來格式化deadline string ,以使.to_datetime進行轉換:

“ 12/13/2012” .to_datetime#=> ArgumentError:無效日期

參見=> apidock [dot] com [slash] rails [slash] String [slash] to_datetime

我找到了類似的文章,建議使用.strptime.strftime方法重新格式化deadline屬性,但是當deadlinestring而不是datetime時,我看不到如何執行此操作:

參見=> stackoverflow [dot] com [slash]問題[slash] 16296885 [slash]如何將日期時間轉換為值,以將其轉換為在ruby-on-rails中的日期時間

有人可以幫助我進行此轉換,還是建議一種不同的(最好是更簡單的)策略來按天對任務進行分組?

感謝您的幫助,對於斷開的鏈接表示歉意; 我的信譽積分不足,無法嵌入2個以上。

你真的不想要約會嗎 不是約會時間?

無論如何你都可以使用

Date.strptime("12/13/2012", "%m/%d/%Y")
=> #<Date: 2012-12-13 ((2456275j,0s,0n),+0s,2299161j)>

DateTime.strptime("12/13/2012", "%m/%d/%Y")
=> #<DateTime: 2012-12-13T00:00:00+00:00 ((2456275j,0s,0n),+0s,2299161j)>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM