» Ruby快速入门 » 2. 高级篇 » 2.4 日期与时间

日期和时间

Ruby 标准库中有一个内置的 Time 类,还有一个提供处理日期功能的 Date 类。

当前日期和时间

current_time = Time.now
puts "Current Time: #{current_time}"

格式化日期和时间

current_time = Time.now
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
puts "Formatted Time: #{formatted_time}"

创建特定的日期和时间

# 创建特定的日期
specific_date = Date.new(2023, 12, 1)
puts "Specific Date: #{specific_date}"

# 创建特定的时间
specific_time = Time.new(2023, 12, 1, 12, 30, 0)
puts "Specific Time: #{specific_time}"

添加和减去时间

current_time = Time.now
future_time = current_time + 60  # 添加60秒
past_time = current_time - 3600  # 减去1小时
puts "Future Time: #{future_time}"
puts "Past Time: #{past_time}"

比较日期和时间

require 'date'

date1 = Date.new(2023, 12, 1)
date2 = Date.new(2023, 11, 30)

puts "Date 1 is after Date 2" if date1 > date2

持续时间

start_time = Time.new(2023, 12, 1, 12, 0, 0)
end_time = Time.new(2023, 12, 1, 14, 30, 0)

duration = end_time - start_time
puts "Duration: #{duration} seconds"

解析日期和时间

require 'date'

date_string = "2023-12-01"
parsed_date = Date.parse(date_string)
puts "Parsed Date: #{parsed_date}"

time_string = "2023-12-01 12:30:58"
parsed_time = DateTime.parse(time_string)
puts "Parsed Time: #{parsed_time}"

使用时区

time_utc = Time.now.utc
puts "Current Time (UTC): #{time_utc}"

puts Time.at(time_utc, in: '+05:00')

puts Time.new(2002, 10, 31, 2, 2, 2, "-03:00") #=> 2002-10-31 02:02:02 -0300

代码挑战

创建一个 Ruby 程序,允许用户安排日程事件。

  1. 用户可以添加具有名称、日期和时间的事件。
  2. 用户可以查看所有安排的事件的列表,显示事件名称、日期和时间。
  3. 该程序应处理日期和时间的解析和格式化。
  4. 确保事件按时间顺序在列表中排序。
Loading...
> 此处输出代码运行结果
上页
下页