gpt4 book ai didi

ruby - ruby 中的时间操作

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

我是 ruby 新手。我正在尝试计算给定时间段内的秒数。我有 HH:MM:SS 格式的开始时间和结束时间。

我可以将变量声明为 Time 类的对象并执行计算吗?示例:

start_time='15:00:12'
end_time='19:32:12'
a=Time.new(start_time)
b=Time.new(end_time)
duration_seconds=a-b

最佳答案

这是 Ruby 中的代码

由于 Time.new 需要诸如年、月、日、小时、分钟、秒之类的参数 - 我将当前时间用于前 3 个参数,并将 OP 的字符串参数中的值用于其余 3 个参数

获取两个时间之间的差异 - 我使用了 to_i 方法,该方法从 Time 实例代表的 Epoch 返回秒数

string_start_time ='15:00:12'
start_time_parts = string_start_time.split(":").collect{ |y| y.to_i }
start_time = Time.new(Time.now.year, Time.now.month, Time.now.day, start_time_parts[0], start_time_parts[1], start_time_parts[2])
p start_time

string_end_time='19:32:12'
end_time_parts = string_end_time.split(":").collect{ |y| y.to_i }
end_time = Time.new(Time.now.year, Time.now.month, Time.now.day, end_time_parts[0], end_time_parts[1], end_time_parts[2])
p end_time

p duration_seconds = end_time.to_i - start_time.to_i

注意:需要一些代码重构来提取函数以从 HH:MM:SS 中创建时间,我有重复的代码

以上代码的输出为

2015-07-14 15:00:12 +0530
2015-07-14 19:32:12 +0530
16320
[Finished in 0.1s]

关于ruby - ruby 中的时间操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31390938/

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