草庐IT

date_split

全部标签

ruby - 导轨 : seeding database data and date formats

我正在尝试使用db/seed.rb文件和rakedb:seed命令将一些数据播种到我正在开发的Rails3应用程序中。我播种的数据涉及一个名为Meeting的数据库表,该表具有三列:字符串标题、日期时间开始日期、日期时间结束日期。我尝试插入的日期时间采用“mm/dd/yyyyhh:mm”格式——例如。“01/02/200313:23”=2003年1月2日下午1:23。但是,DateTime.parse()始终会出现“无效日期”错误——因为它试图以“dd/mm/yyyy”格式解析日期。根据我的谷歌搜索,我被引导相信在解析DateTime对象时,编译器会查看传入的字符串并进行一些仓促的模式

ruby - 为什么 '////' .split ('/' ) 产生 []?

代码'////'.split('/')结果为[]。虽然我希望它是['','','','','']。如果这是ruby的特性,为什么要这样设计? 最佳答案 您不能按分隔符拆分分隔符字符串。您应该将limit作为第二个参数传递给split函数以实现此行为'////'.split('/',-1)=>["","","","",""]如果省略limit参数,尾随的空字段将被抑制。如果limit是正数,则最多返回该数量的字段(如果limit为1,则整个字符串作为数组中的唯一条目返回)。如果为负,则返回的字段数没有限制,并且不会抑制尾随的空字段

ruby - 在 Ruby 中,为什么等于 nil ("Date.new == nil") 返回 nil?

今天写一些rspec时,我遇到了一些意外的行为,将日期(和时间)实例与nil进行比较。这是一个使用原始ruby​​的示例(没有Rails或其他库):user@MacBook-Work~$ruby-vruby1.8.7(2008-08-11patchlevel72)[universal-darwin10.0]user@MacBook-Work~$irb>>1==nil=>false>>"string"==nil=>false>>:sym==nil=>false>>false==nil=>false>>[]==nil=>false>>{}==nil=>false>>Proc.new{}==

ruby-on-rails - Date 与 ActiveSupport::TimeWithZone 的比较失败

我的Waiver模型上有一个age方法,如下所示:defage(date=nil)ifdate.nil?date=Date.todayendage=0unlessdate_of_birth.nil?age=date.year-date_of_birth.yearage-=1ifdate然后我有一个看起来像这样的规范:it"calculatestheproperage"dowaiver=FactoryGirl.create(:waiver,date_of_birth:12.years.ago)waiver.age.should==12end当我运行这个规范时,我得到Comparisono

ruby - 使 Date#parse 采用美国格式而不是欧盟格式

在1.9.2p0中,Date#parse采用UE格式。如果您不相信我,请查看format.rb,第1042行。无论如何,我怎样才能让它采用美国格式,以便:>Date.parse("10/4/2010")=>Mon,04Oct2010而不是4月10日。我已经试过了:classDatedef_parse_eu(str,e)_parse_us(str,e)endend但运气不好。还有其他想法吗? 最佳答案 Date.strptime是你想要的但不幸的是它看起来不像文档有日期格式字符串。我得到以下基于格式字符串的谷歌搜索的工作:1.9.2>

ruby `split' : invalid byte sequence in UTF-8 (ArgumentError)

我正在尝试填充电影对象,但在解析u.item文件时出现此错误:`split':invalidbytesequenceinUTF-8(ArgumentError)File.open("Data/u.item","r")do|infile|whileline=infile.getsline=line.split("|")endend仅当尝试使用花哨的国际标点符号拆分行时才会发生错误。这是一个例子543|Misérables,Les(1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Mis%E9rables%2C%20Les%20%281

ruby - 为什么 Date 在需要之前就存在于 Ruby 中?

在Ruby中,我希望一个不需要的类会引发“未初始化常量”错误。例如,CSV就是这种情况。但是,Date的行为很奇怪:它可用,但显然不起作用,直到需要它为止。~:irb>>Date.new(2012,7,24)ArgumentError:wrongnumberofarguments(3for0)>>require'date'=>true>>Date.new(2012,7,24)=>#如何解释这种行为? 最佳答案 我相信date不是来自irb,而是来自rubygems,特别是thefile其中定义了Gem::Specification:

ruby-on-rails - 如何从 Rails 中的 date_select 或 select_date 获取日期?

使用select_date返回一个params[:my_date]和year,month和day属性。如何轻松获取Date对象?我希望得到像params[:my_date].to_date这样的东西。我也很乐意使用date_select。 最佳答案 使用date_select分别为日、月和年提供3个独立的键/值对。因此,您可以将它们作为参数传递到Date.new中以创建新的Date对象。Event模型的date_select返回参数示例:"event"=>{"name"=>"Birthday","date(1i)"=>"2012",

ruby-on-rails - 如何在 Ruby 中创建一个新的 Date 实例

如何在给定日期的IRB中创建一个新的日期对象。以下无效。1.9.3p194:053>require'active_support'=>true1.9.3p194:054>Date.new=>#1.9.3p194:055>Date.parse('12/01/2012')NoMethodError:undefinedmethod`parse'forDate:Classfrom(irb):551.9.3p194:055>Date.new('12/01/2012')ArgumentError:wrongnumberofarguments(1for0) 最佳答案

ruby-on-rails - Time.zone.now.to_date 是否等同于 Date.today?

Time.zone.now.to_date是否等同于Date.today?另一种表达方式:Time.zone.now.to_date==Date.today是否始终为true?如果不是,在应用程序时区中获取对应于“现在”的日期对象的最佳方法是什么? 最佳答案 它们并不总是相同的。Time.zone.now.to_date将使用应用程序时区,而Date.today将使用服务器时区。因此,如果两者位于不同的日期,那么它们就会不同。来self的控制台的示例:ruby-1.9.2-p290:036>Time.zone="Sydney"=>"