什么之间的区别DateTime
,并Time
在Ruby类与哪些因素会导致我选择一个或其他?
我有一个Ruby DateTime,它从表单中填充.此外,我还有n小时的表格.我想从之前的DateTime中减去这n小时.(获得时间范围).
DateTime有两个方法" - "和"<<"来减去日期和月份,但不是小时.(API).有什么建议我怎么做?
我需要编写一种方法来检查是否Time.now
在商店的营业时间和营业时间之间.
打开和关闭时间保存为时间对象,但我无法比较核心,因为商店节省了时间,2012/2/2
所以开放时间将是这样的:
2012-02-02 02:30:00 UTC
Run Code Online (Sandbox Code Playgroud)
并且Time.now
将是:
07:23 +0200
Run Code Online (Sandbox Code Playgroud)
如何比较没有日期部分的时间部分?
我的目标是从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
=> #<DateTime: 2012-07-01T01:57:32+05:30 ((2456109j,73652s,621060000n),+19800s,2299161j)>
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 >
Run Code Online (Sandbox Code Playgroud)
但是在同一个ruby平台上使用rails console v 3.2.3时
1.9.3p0 :001 > t=DateTime.now
=> Sun, 01 Jul 2012 02:00:00 +0530
1.9.3p0 :002 > t.class
=> DateTime
1.9.3p0 :003 > t2=t.to_time
=> Sun, 01 Jul 2012 …
Run Code Online (Sandbox Code Playgroud) 我需要以2014-01-20
最后两个星期日的格式计算.
所以,last_sunday = 2014-01-20
和most_recent_sunday = 2014-01-26
.
我使用的是Rails 4.0和Ruby 2.0.我怎样才能得到这些日期?
是否可以从另一个DateTime中减去一个DateTime并在Time中得到结果.例如,如果我们从2011-08-29 08:13:00 UTC减去2011-08-27 01:00:00 UTC,结果应该是55:13:00(希望我在计算时没有犯错:p ) 谢谢.