Tag: 日期

解析ruby中的字符串日期,例如“28-May-10”

我尝试使用解析 Date.parse(“28-May-10”).to_s 返回0010-5-28 (这是2000年!) 我怎样才能让ruby正确地解释两位数的年份。 谷歌有很多字符串到目前为止转换技巧,但大多数处理数字月,而不是“五月”。

我如何使用ruby日期常数GREGORIAN,JULIAN,ENGLAND甚至ITALY

因为大写,它们是常数。 我很开心学习ruby的Date助手。 1.9.3p125 :057 > Date::ABBR_MONTHNAMES => [nil, “Jan”, “Feb”, “Mar”, “Apr”, “May”, “Jun”, “Jul”, “Aug”, “Sep”, “Oct”, “Nov”, “Dec”] 1.9.3p125 :058 > Date::ABBR_DAYNAMES => [“Sun”, “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”] 1.9.3p125 :059 > Date::MONTHNAMES => [nil, “January”, “February”, “March”, “April”, “May”, “June”, “July”, “August”, “September”, “October”, “November”, “December”] 1.9.3p125 :060 > Date::DAYNAMES => […]

使用Ruby计算一年中的周数

Ruby中有没有办法计算给定年份的周数(ISO 8601)? 我目前正在使用查找表,我想停止使用它。

是否可以在Rails中创建两个日期之间的月份列表

我正在尝试创建一个页面来显示每个月的链接列表,分组为年。 月份需要在两个日期之间,今天和第一个条目的日期。 我在砖墙,我不知道如何创建这个。 任何帮助都会受到大量关注 问候亚当

用Ruby减去日期

我只是看看ruby,正在玩日期/时间的事情。 irb(main):001:0> jamis_DOB = Time.mktime(2003, 10, 22, 06, 59) => Wed Oct 22 06:59:00 +0300 2003 irb(main):002:0> age = Time.now – jamis_DOB => 222934108.172989 irb(main):005:0> age_in_years = (((age / 3600) / 24) / 365).to_i => 7 所以我的例子不太好,因为age_in_years不会知道这些年份是否有闰年。 我已经通过一些谷歌搜索时间/日期教程,并没有找到一个简单的方法来减去两个日期,并让它在几年,几个月,几天等格式返回。 我猜测ruby有一个附加组件或内置的东西用于此类事情。 有人能告诉我它是什么? (另外,任何建议如何找到这类事物的答案以供将来参考?) 谢谢。

将字符串日期格式从“2011年11月17日”转换为“11/17/11”

我有这个代码将日期字符串数组从2011年11月17日格式转换为11/17/11: def date_convert dates months = { ‘Jan’ => 1, ‘Feb’ => 2, ‘Mar’ => 3, ‘Apr’ => 4, ‘May’ => 5, ‘Jun’ => 6, ‘Jul’ => 7, ‘Aug’ => 8, ‘Sep’ => 9, ‘Oct’ => 10, ‘Nov’ => 11, ‘Dec’ => 12 } new_dates = [] dates.each do |date| date_split = date.split(‘-‘) month = […]

如何在普通旧ruby中使用rails helper“distance_of_time_in_words”(非导轨)

Rails有一个帮助器,它使用distance_of_time_in_words转换单词的时间距离 如果我只是在irb提示符下使用ruby来获取此function,我需要包括什么? 我试过require ‘action_view’但没有帮助。 我也尝试过require ‘active_support/core_ext’但这也没有帮助。

如何使用Ruby 1.9在Rails中使用美式日期?

我在美国,我们通常将日期格式设置为“月/日/年”。 我正在努力确保使用Ruby 1.9的Rails应用程序在任何地方都采用这种格式,并按照它在Ruby 1.8下的方式工作。 我知道很多人都有这个问题,所以我想在这里创建一个明确的指南。 特别: ’04 / 01/2011’是2011年4月1日,而不是2011年1月4日。 ‘2011年4月1日’也是2011年4月1日 – 不需要领先的零。 我怎样才能做到这一点? 这是我到目前为止所拥有的。 控制日期#to_s行为 我在application.rb有这一行: # Format our dates like “12/25/2011′ Date::DATE_FORMATS[:default] = ‘%m/%d/%Y’ 这确保了如果我执行以下操作: d = Date.new(2011,4,1) d.to_s ……我得到“04/01/2011”,而不是“2011-04-01”。 控制String#to_date行为 ActiveSupport的String#to_date方法目前看起来像这样( 源代码 ): def to_date return nil if self.blank? ::Date.new(*::Date._parse(self, false).values_at(:year, :mon, :mday)) end (如果你不遵循这个,第二行创建一个新的日期,按年顺序传递年,月和日。它获取年,月和日值的方式是使用Date._parse ,它解析一个字符串,然后以某种方式决定这些值是什么,然后返回一个散列.values_at按照Date.new想要它们的顺序从该散列中拉出值。) 因为我知道我通常会传递像“04/01/2011”或“4/1/2011”这样的字符串,所以我可以通过monkeypatching来解决这个问题: class String # Keep a pointer […]

日期::今天没有定义?

为什么只有一些Date类的方法在没有显式的情况下加载: require ‘date’ 线? 例如: irb(main):002:0> Date.today NoMethodError: undefined method `today’ for Date:Class from (irb):2 from /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/date/rdoc/Date.html上的文档似乎没有提供有关此行为的明确说明。 关于#irc的评论说它是一个stdlib而不是核心库,但是核心甚至没有定义Date类,并且使用-f(抑制读取.irbrc)启动irc以获得最小负载仍然会出现加载某种基础/核心日期类。 想要对正在发生的事情进行技术性解释,并对Ruby文档的引用进行解释,以便我从Ruby 1.8.7切换到Ruby 2.0.0时遇到其他类似的问题。

time_ago_in_words并本地化

是否可以将time_ago_in_words与i18n.locale一起使用? 怎么样? 谢谢