gpt4 book ai didi

ruby-on-rails - 计算过去/剩余的年百分比?

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:30 27 4
gpt4 key购买 nike

我正在尝试(动态地)计算已经过去或剩余的一年的百分比。

比如今年25天过去了,一年有366天,所以我想做25/366,但是显然25每天都会变。

我想到了很长的路要走,使用这些方法 case/switch 表达式

t = Time.now   #=> 2007-11-19 08:27:03 -0600
t.day #=> 19
t = Time.now #=> 2007-11-19 08:27:30 -0600
t.mon #=> 11

例如,类似的东西

 if t.mon == 1
@year = t.day / 366

if t.mon == 2
@year = (t.day + 31)/ 366

if t.mon == 3
@year = (t.day + 60)/ 366 //60 (or 59) equals number of days in January and Feb etc

不过,我相信一定有更好的方法来做到这一点。

最佳答案

对于时间粒度:

require 'date'

today = Date.today
days_this_year = Date.new( today.year, 12, 31 ).yday
pct_done = 100.0 * today.yday / days_this_year
#=> 7.1038

或者,如果您想要精确到秒的粒度(并且不依赖于 Date ):

now = Time.now
year_start = Time.new( now.year , 1, 1 )
year_end = Time.new( now.year+1, 1, 1 )
pct_done = 100.0 * ( now - year_start ) / ( year_end - year_start )
#=> 6.8338

关于ruby-on-rails - 计算过去/剩余的年百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com