Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 以ruby/rails中其他时间间隔的百分比计算时间间隔_Ruby On Rails_Ruby_Date_Time - Fatal编程技术网

Ruby on rails 以ruby/rails中其他时间间隔的百分比计算时间间隔

Ruby on rails 以ruby/rails中其他时间间隔的百分比计算时间间隔,ruby-on-rails,ruby,date,time,Ruby On Rails,Ruby,Date,Time,我的网站上的帖子有一个持续时间字段,可以是一周、两周或三周,存储为整数(1、2或3)。我想告诉用户他们发布时间的百分比 因此,如果它是在6天前创建的,持续时间是一周,那么大约85%的时间会到期 我已经尝试了很多事情,我觉得应该很简单,但我无法控制它 如果没有四舍五入的话,我得到了2.319。试试(Time.now-6.days.ago)/2.weeks*100。应该是42%。创建时间和持续时间的确切值是多少?这只是一个例子。另一个例子:post是4小时前的,持续时间是2周。我以为(Time.no

我的网站上的帖子
有一个
持续时间
字段,可以是一周、两周或三周,存储为整数(1、2或3)。我想告诉用户他们发布时间的百分比

因此,如果它是在6天前创建的,持续时间是一周,那么大约85%的时间会到期


我已经尝试了很多事情,我觉得应该很简单,但我无法控制它

如果没有四舍五入的话,我得到了2.319。试试
(Time.now-6.days.ago)/2.weeks*100
。应该是42%。创建时间和持续时间的确切值是多少?这只是一个例子。另一个例子:post是4小时前的,持续时间是2周。我以为
(Time.now-4.hours.ago)/2.weeks*100
会像上面那样工作,但这给了我1.19…2 weeks=336小时。4小时是336小时的1.19%。因此,4小时是2周的1.19%。一切正常。我不能理解这个问题?这可能是个时区问题吗<代码>时间。现在在我的控制台中给出了
2015-04-03 09:33:04+1030
,而
1小时前
给出了
2015年4月2日星期四22:01:59 UTC+00
((Time.now - created_at)/duration.weeks.to_f*100).round