📅  最后修改于: 2023-12-03 15:11:36.174000             🧑  作者: Mango
在 Ruby 中,日期和时间都被视为对象,支持一系列的操作和方法。本文将会介绍 Ruby 中用于处理日期和时间的函数。
Date 类用于表示一个日期,其包含了年、月、日。使用以下代码创建一个新的 Date 对象:
require 'date'
d = Date.new(2022, 9, 23)
Time 类用于表示一个精确的时间,包括了时、分、秒和纳秒。使用以下代码创建一个新的 Time 对象:
t = Time.new(2022, 9, 23, 13, 5, 0, "+08:00")
可以使用 +
或 -
符号对日期和时间进行加或减操作,得到一个新的日期或时间对象。
date = Date.today
tomorrow = date + 1
yesterday = date - 1
puts tomorrow # 2022-09-24
puts yesterday # 2022-09-22
time = Time.now
one_hour_later = time + (60 * 60)
one_hour_ago = time - (60 * 60)
puts one_hour_later # 2022-09-23 14:11:54 +0800
puts one_hour_ago # 2022-09-23 12:11:54 +0800
可以使用 ==
、!=
、<
、>
、<=
和 >=
符号对日期和时间进行比较操作。
date1 = Date.today
date2 = Date.new(2022, 9, 23)
puts date1 == date2 # false
puts date1 != date2 # true
puts date1 > date2 # true
puts date1 <= date2 # false
time1 = Time.now
time2 = Time.at(time1.to_i + 60)
puts time1 == time2 # false
puts time1 < time2 # true
puts time1 >= time2 # false
在 Ruby 中,可以使用 strftime
方法将日期和时间格式化为字符串,这是一个十分常用的操作。
date = Date.today
puts date.strftime("%Y-%m-%d") # 2022-09-23
puts date.strftime("%B %d, %Y") # September 23, 2022
time = Time.now
puts time.strftime("%H:%M:%S") # 13:11:54
puts time.strftime("%I:%M:%S %p") # 01:11:54 PM
Ruby 的日期和时间处理功能非常强大和灵活,开发者可以很容易地完成各种计算和格式化操作。我们鼓励程序员学习和使用 Ruby,尤其是其日期和时间模块,以提高开发效率和代码质量。