当用户注册到我的网站之一进行免费试用时,我将他们的帐户到期时间设置为“14.days.from_now”。然后在主页上我显示他们还剩多少天,这是我得到的:(user.trial_expires-Time.now)/86400(因为一天有86400秒,即60*60*24)有趣的是,结果超过14,因此四舍五入为15。在控制台中进行更仔细的调查后,这种情况只会在未来两天发生(如果您明白我的意思)。例如>>Time.now=>FriOct2911:09:2601002010>>future_1_day=1.day.from_now=>Sat,30Oct201011:09:27BST01:00#
我正在尝试在RSpec中对Time.now进行stub,如下所示:it"shouldsetthedatetothecurrentdate"do@time_now=Time.nowTime.stub!(:now).and_return(@time_now)@thing.capture_item("description")expect(@thing.items[0].date_captured).toeq(@time_now)end这样做时出现以下错误:Failure/Error:Time.stub!(:now).and_return(@time_now)NoMethodError:un
有些书提到一些gem可以用#days,#megabytes,#minutes等装饰数字。这只在ActiveSupport中,还是是否有较小的gem提供此功能以用于(小型)非railsgem?我想在一个小小的gem中将此功能用作DSL的一部分。 最佳答案 我不确定除了ActiveSupport之外是否还有其他可用的gem,但是自己制作一个小版本真的很简单:classFixnumSECONDS_IN_DAY=24*60*60defdaysself*SECONDS_IN_DAYenddefagoTime.now-selfendend3.d
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"=>"
我应该在我的Rails应用程序中使用两者中的哪一个:DateTime.noworTime.now在应用程序中同时使用两者有什么坏处吗?在上述(now)示例中,两者之间是否存在任何差异?(在我当前的系统上,它们同时显示) 最佳答案 使用(Date)Time.current而不是(Date)Time.nowRails扩展了Time和DateTime对象,并包含current属性,用于检索Rails环境设置的时间(默认=UTC),而不是服务器时间(可以是任何东西)。这很关键-您应该始终以UTC时间工作,除非在时区之间转换以供用户输入或显示
如何在Ruby中的当前Time.now中添加两周?我有一个使用DataMapper的小型Sinatra项目,在保存之前,我有一个字段填充了当前时间加上两周,但没有按需要工作。任何帮助是极大的赞赏!我收到以下错误:NoMethodErrorat/undefinedmethod`weeks'for2:Fixnum这是模型的代码:classJobincludeDataMapper::Resourceproperty:id,Serialproperty:position,Stringproperty:location,Stringproperty:email,Stringproperty:ph
这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:HowdoIConvertDateTime.nowtoUTCinRuby?如何以日期时间毫秒和UTC获取当前时间?前任。2012-03-22T18:48:40.873Z我试过了-Time.now.utc_offset.to_sTime.now.xs_datetime
为了在单元测试中测试时间敏感的方法,设置Time.now的最佳方法是什么? 最佳答案 我真的很喜欢Timecop图书馆。您可以以block形式进行时间扭曲(就像时间扭曲一样):Timecop.travel(6.days.ago)do@model=TimeSensitiveMode.newendassert@model.times_up!(是的,您可以嵌套block形式的时间旅行。)您还可以进行声明式时间旅行:classMyTest我有一些cucumberTimecop的助手here.他们让你做这样的事情:Givenitiscurre
我被以下的joda-timeAPI宠坏了:DateTimenow=newDateTime();DateTimeninetyDaysAgo=now.minusDays(90);我正尝试在Ruby中做类似的事情,但我是now=Time.nowninetyDaysAgo=now-(90*24)但是,数学不在这里(我真的在午夜处理日期)。是否有用于日期减法的友好API? 最佳答案 require'date'now=Date.todayninety_days_ago=(now-90)通过IRB控制台运行这个我得到:>>require'date
我需要使用DateTime.now来获取当前日期,并“剥离”时间。例如,这显示了我不想要的:DateTime.now=>Sat,19Nov201118:54:13UTC+00:00这显示了我做想要的:DateTime.now.some_operation=>2011-11-0600:00:00UTC 最佳答案 您可以使用以下之一:DateTime.current.midnightDateTime.current.beginning_of_dayDateTime.current.to_date