gpt4 book ai didi

ruby - 高效地截断 Ruby Time 对象

转载 作者:数据小太阳 更新时间:2023-10-29 07:44:42 24 4
gpt4 key购买 nike

我正在尝试提出一种根据给定分辨率截断 Ruby Time 对象的有效方法。

class Time
def truncate resolution
t = to_a
case resolution
when :min
t[0] = 0
when :hour
t[0] = t[1] = 0
when :day
t[0] = t[1] = 0
t[2] = 1
when :month
t[0] = t[1] = 0
t[2] = t[3] = 1
when :week
t[0] = t[1] = 0
t[2] = 1
t[3] -= t[6] - 1
when :year
t[0] = t[1] = 0
t[2] = t[3] = t[4] = 1
end

Time.local *t
end
end

有谁知道可以完成相同任务的更快版本吗?

最佳答案

这已经在 Rails 的 ActiveSupport 库的 Time extensions 中为您实现了.请参阅 change 方法,以及各种 at_beginning_of_* 方法。

关于ruby - 高效地截断 Ruby Time 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912139/

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