Tag: 日期

给定日期,我如何有效地计算给定序列中的下一个日期(每周,每月,每年)?

在我的应用程序中,我有各种日期序列,例如每周,每月和每年。 鉴于过去的任意日期,我需要计算序列中的下一个未来日期。 目前我正在使用次优循环。 这是一个简化的例子(在Ruby / Rails中): def calculate_next_date(from_date) next_date = from_date while next_date < Date.today next_date += 1.week # (or 1.month) end next_date end 而不是执行循环(虽然简单,但效率低,特别是在远处过去的日期)我想通过计算两个日期之间的周数(或月,年)来进行日期算术,计算余数并使用这些值生成下一个日期。 这是正确的方法,还是我错过了一种特别聪明的“Ruby”解决方法? 或者我应该坚持我的循环以简化这一切?

活动管理员日期过滤日期格式自定义

有没有简单的方法可以从默认的ISO格式(yyyy-mm-dd)更改ActiveAdmin日期filter显示格式?

Ruby / Rails – 将整数转换为星期几

我知道你可以用wday作为整数值返回星期几: Date.new(2001,2,3).wday #=> 6 (aka “Saturday”) 但是,有没有一种方法以相反的方式做到这一点,相反? 喜欢: day_of_week(6) #=> “Saturday” 或者这是我自己转换的东西? 谢谢。

Ruby / Rails中的整数序列化

我正在寻找一种方法来处理Ruby / Rails中的整数序数化,即。 “st”,“nd”,“rd”和“th”后缀为整数。 Ruby on Rails用于使用“ordinalize”方法扩展FixNum,但该function似乎已在版本3中弃用。 我目前只是使用旧Rails方法的源代码,这很好……但这似乎是大多数脚本语言/ Web框架内置的function,我觉得Rails背后的人必须有一个理由弃用function(也许它现在可以在Ruby中使用了吗?)。 请指教!

Ruby解析日期字符串

我需要将下面提到的日期字符串解析为std日期格式。 在ruby中是否有内置函数可以解析类似的东西, 2011年12月9日至2011-12-09

如何从可能具有前导零的字符串中解析数字?

在ruby中,我使用以下格式解析日期:24092008.我想将每个部分(年,月,日)转换为数字。 我使用正则表达式将它们拆分,它产生三个字符串,我将它传递给Integer构造函数。 date =~ /^([\d]{2})([\d]{2})([\d]{4})/ year = Integer($3) month = Integer($2) day = Integer($1) 当它达到月线时,崩溃如下: `Integer’: invalid value for Integer: “09” (ArgumentError) 我花了一段时间才意识到它正在解释前导零,因为Octal和09不是有效的八进制数(它与“07”一起工作正常)。 有没有一个优雅的解决方案,或者我应该测试小于10的数字并首先删除零? 谢谢。

RoR,无法从DateTime / TimeWithZone迭代

我有一个简单的任务,我想要开始日期和结束日期并循环日期/日期。 此代码正在我的db:seed rake任务中使用。 目前,我的代码经历了以下尝试。 (someModel.start_date.to_datetime..someModel.end_date.to_datetime).each { |x| puts x } …… (someModel.start_date…someModel.end_date).each { |x| puts x } 在每种情况下,我都会收到这样的错误。 can’t iterate from ActiveSupport::TimeWithZone or can’t iterate from DateTime 如果有人对如何迭代一系列DateTimes有任何线索,我将非常感激。

在Ruby中将12小时时间转换为24小时格式

如何将“上午11点”和“晚上10点”转换为“11:00”和“22:00”? 是否有使用日期和时间类的简单方法?

Ruby Time.parse让我超出范围错误

我正在使用Time.parse从字符串创建Time对象。 由于某些原因 Time.parse(“05-14-2009 19:00”) 导致一个参数我们的范围错误,而 Time.parse(“05-07-2009 19:00”) 才不是 有任何想法吗?

在特定时区的某一天开始获取时间对象

如何获得一个ruby Time对象,该对象表示给定时区中特定日期的一天的开始。