jjzjj

date-range

全部标签

ruby-on-rails - Ruby 的 range step 方法导致执行速度很慢?

我有这段代码:date_counter=Time.mktime(2011,01,01,00,00,00,"+05:00")@weeks=Array.new(date_counter..Time.now).step(1.week)do|week|logger.debug"WEEK:"+week.inspect@weeks从技术上讲,代码有效,输出:SatJan0100:00:00-05002011SatJan0800:00:00-05002011SatJan1500:00:00-05002011etc.但是执行时间完全是垃圾!每周计算大约需要四秒钟。我在这段代码中是否遗漏了一些奇怪的低效

ruby-on-rails - 将 Date 对象转换为 TimeWithZone

我需要将Date对象转换为TimeWithZone对象,表示给定时区中那一天的开始。以下方法可行,但似乎太复杂了,因为它需要我将日期转换为字符串:?>date=Date.parse("2010-02-17")=>Wed,17Feb2010>>ActiveSupport::TimeZone['EasternTime(US&Canada)'].parse(date.to_s)=>Wed,17Feb201000:00:00EST-05:00>>ActiveSupport::TimeZone['UTC'].parse(date.to_s)=>Wed,17Feb201000:00:00UTC00

ruby - Date::today 未定义?

为什么只有Date类的某些方法没有显式加载:require'date'线?例如:irb(main):002:0>Date.todayNoMethodError:undefinedmethod`today'forDate:Classfrom(irb):2from/Users/mwlang/.rvm/rubies/ruby-2.0.0-p0/bin/irb:16:in`'然后……irb(main):003:0>require'date'=>true导致...irb(main):004:0>Date.today=>#http://ruby-doc.org/stdlib-2.0/libdoc/

ruby - ruby Date.today 和 DateTime.now 的日期错误

我已经使用RVM安装了ruby​​-1.8.6-p383。系统ruby是1.9.1_p378-1我在使用ruby​​1.8时从Date.today和DateTime.now得到错误的日期。而Time.now是正确的:irb(main):002:0>DateTime.now.to_s=>"2126--1-10618T11:23:43+00:00"irb(main):004:0>Date.today.to_s=>"2126--1-10618"irb(main):005:0>Time.now=>ThuJan2811:55:27+00002010如果我切换到ruby​​1.9,一切都很好:ir

Ruby,从 Date.day_fraction_to_time 获取小时、秒和时间

我找到了这个方法here.start=DateTime.nowsleep15stop=DateTime.now#minutesputs((stop-start)*24*60).to_ihours,minutes,seconds,frac=Date.day_fraction_to_time(stop-start)我有以下错误:`':privatemethod`day_fraction_to_time'calledforDate:Class(NoMethodError)我检查了/usr/lib/ruby/1.9.1/date.rb并找到了它:defday_fraction_to_time(

ruby-on-rails - 嵌套模型、表单和 date_select FormHelper 集成

我关注了RyanBatestutorial在嵌套模型上。我的几个嵌套模型都有与之关联的日期。在我的迁移中,它们实际上是“Date”类型。我尝试过的一些事情和遇到的问题date_select-可以处理表单对象前缀,但不能处理嵌套模型属性select_year-不适用于表单对象通过使用(Time.now.year-100)..(Time.now.year)并覆盖attr访问器start_date和end_date以获取选择中的值以形成日期和传递回来。仅适用于创建,不适用于更新将字段的数据类型更改为字符串并使用使用(Time.now.year-100)..(Time.now.year)填充年

ruby-on-rails - "if (number in range) then..."的 Ruby 快捷方式

是否有以下Ruby快捷方式?if(x>2)and(x我以为我看到了类似的东西,但找不到相关的引用资料。当然,当您不知道要查找的运算符时,很难查找。 最佳答案 if(3..9).include?x#whateverend作为旁注,您还可以对范围使用三等号运算符:if(3..9)===x#whateverend这让您也可以在case语句中使用它们:casexwhen3..9#Dosomethingwhen10..17#Dosomethingelseend 关于ruby-on-rails-"i

ruby-on-rails - Date.new 为 `div' :String 返回未定义的方法 "11"

我遇到了错误undefinedmethod`div'for"11":String"在我提交表单时指向@startdate行。我完全不明白这是怎么回事。如果我在Rails控制台中执行这些步骤,它就可以正常工作。在我的Controller中我有:@startday=params["startday_#{i}".to_sym]@startmonth=params["startmonth_#{i}".to_sym]@startyear=params["startyear_#{i}".to_sym].to_s@endday=params["endday_#{i}".to_sym]@endmont

ruby-on-rails - rails : Human-friendly date format for text_field

我有一个存储为日期时间值的birth_date字段。默认的railsformhelpers吐出一种不太友好的格式,例如“2008-06-1022:33:19.000000”。下面是Vanillarails方式。"20"%>我怎样才能简单地应用一种格式?我尝试了各种方法,例如strftime应该可以,我想。但是当我尝试以下操作时,出现错误undefinedmethod'strftime'fornil:NilClassf.object.birth_date.strftime('%m/%d/%Y'),:size=>"20"%>根据其他一些问题/答案,我尝试了以下方法。它适用于非空值,但它是丑

Ruby 'Range.last' 没有给出最后一个值。为什么?

在ruby​​Range对象中使用三点表示法时,我得到:(0...5).each{|n|pn}01234当我使用“last”方法时,我得到:(0...5).last=>5我本以为是4这是一个错误吗?或者我对Range对象的概念有什么不理解的地方? 最佳答案 这是设计使然。Ruby2.0文档是morespecific:Notethatwithnoargumentslastwillreturntheobjectthatdefinestheendoftherangeevenifexclude_end?istrue.(10..20).las