草庐IT

引用 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团队认

ruby-on-rails - 我如何判断一个对象是否是 Ruby 中的 "date-y"类型的对象(可转换为 unix 时间戳)

具体来说,如果一个对象可以转换为unix时间戳,我想将它转换为unix时间戳。这样我就可以覆盖ruby​​用于将其转换为API的unix时间戳的标准日期/时间JSON格式(因为我们不想解析电话端的字符串)。而且,我有点想这样做一次,这样我就可以在我们使用日期/时间的任何对象中使用它(通过修改as_json的结果)。似乎我目前必须处理Date、Time、DateTime(如果类型检查由Date处理)和ActiveSupport::TimeWithZone(来自Rails)。但是,不想检查所有这些。有什么更好的方法吗?仅供引用,我尝试检查respond_to?(:to_datetime)这

c++ - Boost.Chrono 与 Boost.Date_Time

在Boost1.47版中,引入了Chrono库。Boost.Chrono是否意味着替代Boost.Date_Time?如果不是,它们之间有什么区别,我应该什么时候使用?我应该何时考虑在现有项目中将Boost.Date_Time替换为Boost.Chrono? 最佳答案 来自Boost.Chrono的documentation:Boost.ChronoaimstoimplementthenewtimefacilitiesinC++0x,asproposedinN2661-AFoundationtoSleepOn.Thatdocumen