Ruby 日期 & 时间(Date & Time)
Ruby 日期 & 时间
Ruby 提供了许多有用的日期和时间操作的方法。Ruby 的 Date 类,用于处理日期。Ruby 的 Time 类,用于处理时间。时间和日期都是非常重要的变量,在从数据库中查询数据或以任何方式处理或操作数据,甚至在测试代码时,时间都是非常重要的。
日期处理
Ruby 支持一系列操作日期的方法和模块。Date 类是其中的一个最基础的类。
创建日期
我们可以使用 Date 类来创建日期。以下是一个示例:
require 'date'
newYear = Date.new(2020, 1, 1)
访问日期
访问 Date 类的日期的最常用方法是使用 strftime 方法。例如:
puts newYear.strftime("%m/%d/%Y") # 01/01/2020
比较日期
可以使用 Ruby 的 Date 类来比较两个日期:
require 'date'
d1 = Date.new(2020, 1, 1)
d2 = Date.new(2020, 2, 1)
if d1 < d2
puts "d1 is less than d2"
end
计算日期
我们可以使用 Date 类来计算两个日期之间的天数差异:
require 'date'
d1 = Date.new(2020, 1, 1)
d2 = Date.new(2020, 2, 1)
daysBetween = (d2 - d1).to_i
解析日期
在 Ruby 中常用的日期格式可以通过 strptime 方法解析成日期对象:
require 'date'
string_date = '2020-01-01'
parsed_date = Date.strptime(string_date, '%Y-%m-%d')
批量处理日期
Ruby 还提供了一些批量处理日期的方法,比如列出指定日期区间内所有的日期:
require 'date'
start_date = Date.new(2020, 1, 1)
end_date = Date.new(2020, 1, 10)
(start_date..end_date).each do |date|
puts date.strftime('%B %d, %Y')
end
时间处理
在 Ruby 中,可以使用 Time 类来处理时间。
获取当前时间
我们可以使用 Time.now 方法来获取当前的时间:
currTime = Time.now
puts currTime
时间戳
在计算机科学中,时间戳是从 1970 年 1 月 1 日开始的秒数。我们可以使用 Ruby 的 Time 类来获取时间戳:
puts Time.now.to_i # 当前时间的时间戳
访问时间
我们可以使用 strftime 方法来格式化时间:
puts Time.now.strftime('%B %d, %Y %H:%M:%S') # January 01, 2020 12:01:01
解析时间
我们可以使用 strptime 方法将时间字符串解析成时间对象:
require 'time'
string_time = '12:01:01'
parsed_time = Time.parse(string_time)
改变时间
使用 Time 类,我们可以更改当前时间:
require 'time'
currTime = Time.now
newTime = currTime + 120 # 2 minutes from now
puts newTime.strftime('%B %d, %Y %H:%M:%S')
总结
Ruby 提供了丰富的日期和时间操作的方法。Date 类可以用来处理日期,可以创建、修改和解析日期。Time 类可以用来处理时间,可以创建、修改和解析时间。通过这些可用的类和方法,Ruby 提供了足够灵活的工具,来操作和处理重要的日期和时间。