gpt4 book ai didi

ruby-on-rails - 时间点 : within an hour, 是在今天、明天晚于明天还是已经过去了?

转载 作者:太空宇宙 更新时间:2023-11-03 17:31:54 26 4
gpt4 key购买 nike

我想用相关词显示关闭时间,例如“您还有 2 小时的时间来回答投票”。

下面有什么问题?当有例如还剩 54 分钟,返回“54 小时”。

    minute_diff = ((datetime_value - DateTime.current) * 24 * 60).to_i

case
when minute_diff < 0 # past time
[nil, "closed"]
when minute_diff.between?(0, 59) # within an hour
[minute_diff, "minutes"]
when datetime_value.today? # today
number_of_hours = (minute_diff / 60)
[number_of_hours, "hours"]
when datetime_value.to_date == DateTime.current.tomorrow.to_date # tomorrow
[1, "day"]
when datetime_value.to_date > DateTime.current.tomorrow.to_date # later than tomorrow
number_of_days = (datetime_value.to_date - DateTime.current.to_date).to_i
[number_of_days, "days"]
end

(非常感谢关于返回相对时间的更好方法的建议)

最佳答案

关于你的第二个问题(提供更好的方法),你应该使用已经存在的。

if (t = DateTime.current) < datetime_value
"You have #{distance_of_time_in_words(t, datetime_value)} left to answer the poll".
else
"Closed"
end

如果你想处理 l18n,我最喜欢的是 "twitter-cldr" gem .

关于ruby-on-rails - 时间点 : within an hour, 是在今天、明天晚于明天还是已经过去了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32839520/

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