Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 减去两年,如果超过半年,则四舍五入_Ruby_Date_Rounding_Subtraction - Fatal编程技术网

Ruby 减去两年,如果超过半年,则四舍五入

Ruby 减去两年,如果超过半年,则四舍五入,ruby,date,rounding,subtraction,Ruby,Date,Rounding,Subtraction,我有以下资料: y1 = Date.parse("2008-02-01") y2 = Date.today 然后我想 减去y2-y1 将结果转换为某种数字类 将结果除以365.25,如果超过0.5,则将结果四舍五入 我的主要问题是第二点,我应该使用什么数字类?我想这可能会回答第三点 或者,也许有一种更有效的方法,将两个日期相减,得到年数,向上/向下四舍五入到最接近的整数?减法的结果已经是一个有理数天数 ((y2 - y1) / 365.25).round # => 6 使用可以使用 r

我有以下资料:

y1 = Date.parse("2008-02-01")
y2 = Date.today
然后我想

减去y2-y1 将结果转换为某种数字类 将结果除以365.25,如果超过0.5,则将结果四舍五入 我的主要问题是第二点,我应该使用什么数字类?我想这可能会回答第三点


或者,也许有一种更有效的方法,将两个日期相减,得到年数,向上/向下四舍五入到最接近的整数?

减法的结果已经是一个有理数天数

((y2 - y1) / 365.25).round
# => 6
使用可以使用

result = ((y2 - y1) / 365.25).round

这将给出整数中天数的差值。现在,您可以通过三元运算符检查它是否大于.5

搜索“Ruby date difference”(Ruby date difference),这样会找到许多与您的问题相关的点击。你看了吗?