ruby-on-rails - Ruby:时间值的数学函数

标签 ruby-on-rails ruby math time

我如何加/减/等等。 Ruby 中的时间值?例如,我将如何添加以下时间?

00:00:59 + 00:01:43 + 00:20:15 = ?

最佳答案

使用 ActiveSupport,它有大量内置的日期扩展。

require 'active_support/core_ext'
t1 = "#{Date.today} 00:00:59".to_time
t2 = "#{Date.today} 00:01:43".to_time
t3 = "#{Date.today} 00:20:15".to_time
t1.since(t2.seconds_since_midnight+t3.seconds_since_midnight)

或者,如果您不关心日期,只关心时间:

t1.since(t2.seconds_since_midnight+t3.seconds_since_midnight).strftime("%H:%M:%S")

如需完整列表,请查看 http://guides.rubyonrails.org/active_support_core_extensions.html#extensions-to-date

关于ruby-on-rails - Ruby:时间值的数学函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/433203/

相关文章:

haskell - 是否有一个标准的 Haskell 函数可以进行数值裁剪?

python - 如何检查 NaN 值?

mysql - 为什么我必须运行两次迁移才能使值出现在数据库中?

ruby-on-rails - 使用form_for时如何创建密码和确认?

ruby-on-rails - 设计 after_sign_in_path_for ... 发送到 .... root_path - 查询

ruby - 错误 : Could not find a valid gem 'sinatra/reloader' (>= 0) in any repository

ruby-on-rails - Windows XP 上的 Ruby on Rails 控制台中的 CTRL+C 不会停止 mongrel

ruby-on-rails - 将 Rails DateTime 四舍五入到最接近的 15 分钟间隔

ruby - 如何使用 Elasticsearch ruby​​ gem 获取 Elasticsearch 版本?

java - 2 个 OBB 的联络点?