草庐IT

ruby-on-rails - 参数转换的禅宗方式[:date] to Date?

将params[:date]字段转换为Date对象的最优雅的方法是什么?"date"=>{"day"=>"13","year"=>"2012","month"=>"4"}目前,我在controller中有如下代码:@date=Date.currentifparams[:date]yy=mm=dd=0yy=params[:date][:year].to_iifparams[:date][:year]mm=params[:date][:month].to_iifparams[:date][:month]dd=params[:date][:day].to_iifparams[:date][:

ruby-on-rails - 为什么 Date.tomorrow > Time.now 在 Ruby on Rails 中返回 false?

查看RoRpry控制台结果:[1]pry(main)>Date.tomorrow>Time.now=>false[2]pry(main)>Date.tomorrow.to_time>Time.now=>true[3]pry(main)>Date.tomorrow=>Tue,07Oct2014[4]pry(main)>Time.now=>2014-10-0622:52:40-0400添加了时间戳结果,让您知道粗略的值。 最佳答案 因为Date.tomorrow是明天而Time.nowUTC也是明天。您会注意到您在10:52pm执行此操

引用 Date 时出现 Ruby NameError

我使用以下代码得到“未初始化的常量日期(NameError)”:classTestattr_accessor:reqsdefinitialize()@reqs=[]endendclassTestBuilderdeftest(&block)@current=Test.newblock.call@currentenddefolder_than_days(age)@current.reqs"Mon,5Apr201003:17:46-0400"})阅读这个问题的答案后添加了双冒号:Uninitializedconstant...NameError因为ruby​​试图在TestBuilder中查

ruby - : Date. 如何解析 ("123 456 789") == 2019 年 5 月 3 日星期五?

标题几乎说明了一切。我正在尝试从CSV导入中评估日期的有效性,但如果有人为出生日期选择电话号码列,日期解析仍然会通过 最佳答案 Howis:Date.parse(“123456789”)==Fri,03May2019?Date._parse(带下划线)返回原始数据:Date._parse('123456789')#=>{:yday=>123}Ruby将123视为一年中的第123天,即5月3日。 关于ruby-:Date.如何解析("123456789")==2019年5月3日星期五?,我

ruby-on-rails - rails : to_date with a month/day/year format

我有一个简单的问题。我有一个带有created_at的实例变量。我如何将其转换为Month,day,year~September,13,1987当我尝试=@example.created_at在我看来它给了我1987-09-13奇怪的是,当我在控制台中执行此方法时,我得到了Sun,13Sep1987如何将我的变量转换为月、日、年?为什么它在控制台中返回不同的东西? 最佳答案 您可以通过指定格式来更改日期的显示方式,例如@example.created_at.strftime("%B,%d,%Y")#=>"September,20,2

ruby - 无方法错误 : undefined method `yesterday' for Date:Class

SO上发布的每个答案(是的,我检查过)似乎都有require'date'作为解决方案。我已经这样做了,但我的代码仍然无法运行。require'date'yesterday=RepSched::Helpers.datestring(Date.yesterday)出于某种原因,Ruby在Date.yesterday上窒息NoMethodError:undefinedmethod`yesterday'forDate:Class我做错了什么?编辑哦不!现在我的问题比我想象的要大。现在我已经意识到这个问题,我意识到DateTime的行为也有所不同! 最佳答案

ruby-on-rails - (Time.now.utc.to_date + 1.month + 15.days) != (Time.now.utc.to_date + 15.days + 1.month)

这怎么可能?Time.now.utc.to_date+1.month+15.days#=>Mon,01Dec2014Time.now.utc.to_date+15.days+1.month#=>Sun,30Nov2014有人看过吗?/编辑我想我问错了问题。那你们怎么解释呢?Time.now.utc.to_date+(15.days+1.month)#=>Mon,08Dec2014Time.now.utc.to_date+(1.month+15.days)#=>Tue,09Dec2014(15.days+1.month)#=>3888000(1.month+15.days)#=>3888

ruby-on-rails - Date.step() 方法的 Ruby 正确用法

我一直在尝试使用Date对象的step()方法从当前日期检索前2个日期,如下所示:date_d.step(2,step=-2){|d|putsd}其中2是限制,step是向后或向前的步数。我已根据此处提供的文档完成此操作:Date.step()此代码段进入无限循环,然后不停地(向后)输出日期这个方法似乎没有足够的文档,我也没有在网上找到解决方案。请帮我解决这个问题。 最佳答案 限制参数是循环停止的日期,而不是天数或迭代次数。所以例如date_d=Date.parse('2010-08-01')date_d.step(date_d-4

sql - ruby rails : Query where date equals another date (ignoring time)

我正尝试在我的模型上执行此查询,但我无法弄明白。事件有日期。我有一个名为“array_of_dates”的日期数组,我是从另一个模型构建的:array_of_dates=[]user.eachdo|user|array_of_datesuser.birthday_date当然是日期时间我试过了Event.where("datein(?)",array_of_dates)但是,事件日期也有一个时间集。我想忽略这里设置的时间,因为我只是在寻找那一天。我试过将user.birthday_date解析为另一种格式,但我不知道如何从事件模型中更改“日期”的格式。感谢您的帮助!

Ruby Date.strptime 不强制使用 4 位数年份

我希望这段代码给我一个ArgumentError:invaliddate错误。在Ruby2.0.0irb中:irb(main):003:0>Date.strptime('05-10-2014','%Y-%m-%d')=>#我是不是做错了什么,或者即使我指定了%Y,Ruby也会接受两位数的年份吗?我正在考虑测试用户输入。在这种情况下,我的程序期望它在%Y-%m-%d中并且输入的日期以错误的格式“输入”,但是strptime说没问题. 最佳答案 去年有一个Rubybugopenedforthisissue,但被拒绝了。我想Ruby团队认