Tag: 时间

DateTime到Time转换中奇怪的Ruby行为

我的目标是从DateTime实例获取Time实例 这已经在这里讨论过,我仍然感到困惑: 在Ruby中转换为DateTime和Time 对我来说,运行ruby 1.9.3p0(2011-10-30修订版33570)[x86_64-darwin11.2.0]的irb运行完美 1.9.3p0 :001 > require ‘Date’ => true 1.9.3p0 :002 > require ‘Time’ => true 1.9.3p0 :003 > t=DateTime.now => # 1.9.3p0 :004 > t2=t.to_time => 2012-07-01 01:57:32 +0530 1.9.3p0 :005 > t.class => DateTime 1.9.3p0 :006 > t2.class => Time 1.9.3p0 :007 > 但是在同一个ruby平台上使用rails console v 3.2.3时 1.9.3p0 :001 > […]

从ruby中的UUID v1中提取时间

我已经存储了UUID v1作为密钥的数据,现在我想知道何时生成UUID。 我怎么做那个好方法?

Time.advance在哪里记录?

在Web上环顾四周,我发现Ruby Time类有Time#advance 。 这记录在哪里? 我在这里的Ruby API文档中没有提到它。 API文档的搜索function表明在任何地方都没有称为“advance”的方法。 尽管如此,在IRB …… >> t = Time.now => Thu Mar 05 16:08:57 -0800 2009 >> t.advance :months => 1 => Sun Apr 05 16:08:57 -0700 2009 令我困惑的另一件事……在时间类的文档中,它首先说的是“实现time.rb库文档中描述的Time类的扩展。” 它们是否意味着“time.rb库实现了对这个类的扩展?” 我想也许这就是Time#advance来自的地方,但我发现的只是这个 。

如何在ruby中解析天/小时/分钟/秒?

是否有一个gem或其他东西来解析像“4h 30m”“1d 4h”这样的字符串 – 有点像JIRA或任务规划人员的估计,也许是国际化?

Ruby / Rails – 如何将秒转换为时间?

我需要执行以下转换: 0 -> 12.00AM 1800 -> 12.30AM 3600 -> 01.00AM … 82800 -> 11.00PM 84600 -> 11.30PM 我想出了这个: (0..84600).step(1800){|n| puts “#{n.to_s} #{Time.at(n).strftime(“%I:%M%p”)}”} 这给了我错误的时间,因为Time.at(n)期望n是epoch的秒数: 0 -> 07:00PM 1800 -> 07:30PM 3600 -> 08:00PM … 82800 -> 06:00PM 84600 -> 06:30PM 什么是最佳的,时区无关的解决方案?

将Ruby中的持续时间 – hh:mm:ss.sss转换为毫秒,反之亦然

我想知道Ruby中是否有内置方法允许我将hh:mm:ss.sss格式的单圈时间转换为毫秒,反之亦然。 由于我需要对它进行一些计算,我认为转换为毫秒将是最简单的方法。 告诉我,如果我错在这里:)

在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中的时间范围?

我想知道时间是属于某个时间表还是其他时间。 在我的情况下是计算时间是在夜间时间表或正常时间表 。 我已经达成了这个解决方案: NIGHT = [“21:00”, “06:00”] def night?( date ) date_str = date.strftime( “%H:%M” ) date_str > NIGHT[0] || date_str < NIGHT[1] end 但我认为不是很优雅,也只适用于这个具体案例而不是每个时间范围 。 (我发现几个类似的问题是SO,但它们都引用了日期范围没有时间范围) 更新 解决方案必须适用于随机时间范围,不仅适用于具体的时间范围。 让我们说: “05:00”-“10:00” “23:00”-“01:00” “01:00”-“01:10”

Rails distance_of_time_in_words返回“en,about_x_hours”

我有一个奇怪的问题,希望有人知道问题是什么…… 使用distance_of_time_in_words(以及因此time_ago_in_words)不返回实际时间距离。 相反,它返回的内容包括“en,about_x_hours”或“en,x_minutes”。 模式是正确的,如: time_ago_in_words(50.minutes.ago) => “en, about_x_hours” time_ago_in_words(3.minutes.ago) => “en, x_minutes” 但是,为什么它在显示“x”而不是实际数字,“_”而不是空格,以及“en”,在所有这些的开头?!