这是控制台中的字符串输出.
params[:event][:start_date]"03/28/2018 1:46 AM"
[编辑]跟随一些线索,我想出了一些非常脏的东西也许有人可以帮助重构我正在压抑上午或下午,因为我不知道如何解析我知道它很糟糕任何帮助表示赞赏!
if !params[:event][:start_date].empty? start_date = params[:event][:start_date] start_date = start_date.gsub(/[AMP]/,'').squish a = start_date.split('/') tmp = a[0] a[0] = a[1] a[1] = tmp a = a.split(',').join('/') start_date = Time.parse(a) end if !params[:event][:end_date].empty? end_date = params[:event][:end_date] end_date = end_date.gsub(/[AMP]/,'').squish a = end_date.split('/') tmp = a[0] a[0] = a[1] a[1] = tmp a = a.split(',').join('/') end_date = Time.parse(a) end解决方法 您可以使用 DateTime从特定格式解析日期.
如果您要解析的格式是“03/28/2018 1:46 AM”,那么您可以这样做.
date = DateTime.strptime('03/28/2018 1:46 AM','%m/%d/%Y %I:%M %p')# date to ISO 8601puts date.to_time# output: 2018-03-28 07:16:00 +0530puts date.strftime("%m/%d/%Y")# output: 03/28/2018
日期格式:
Date (Year,Month,Day):%Y - Year with century (can be negative,4 digits at least) -0001,0000,1995,2009,14292,etc.%m - Month of the year,zero-padded (01..12) %_m blank-padded ( 1..12) %-m no-padded (1..12)%d - Day of the month,zero-padded (01..31) %-d no-padded (1..31)Time (Hour,Minute,Second,Subsecond):%H - Hour of the day,24-hour clock,zero-padded (00..23)%k - Hour of the day,blank-padded ( 0..23)%I - Hour of the day,12-hour clock,zero-padded (01..12)%l - Hour of the day,blank-padded ( 1..12)%P - MerIDian indicator,lowercase (``am'' or ``pm'')%p - MerIDian indicator,uppercase (``AM'' or ``PM'')%M - Minute of the hour (00..59)
您可以参考所有格式here.
总结以上是内存溢出为你收集整理的ruby-on-rails – 在rails上将字符串转换为datetime ruby全部内容,希望文章能够帮你解决ruby-on-rails – 在rails上将字符串转换为datetime ruby所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)