0Pricing
Ruby Academy · 课时

时间与日期类

处理时间

时间与日期类 是 CoddyKit 上的免费 Ruby Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ruby Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ruby Academy 课程共包含 4 节课。

Time 类

Ruby 内置的 Time 类表示一个时间点。Time.now 会提供包含日期和时钟时间的当前时间。

t = Time.now
puts t.class
puts(t.year)

构建特定时间

Time.new(或 Time.local)根据各个部分构建时间:年、月、日、小时、分钟和秒。

t = Time.new(2026, 5, 30, 14, 30, 0)
puts t.year
puts t.hour
puts t.min

读取时间组成部分

Time 通过 year、month、day、hour、min、sec 和 wday 等方法提供每个组成部分(星期几,0 = 星期日)。

t = Time.new(2026, 5, 30)
puts(t.month)
puts(t.day)
puts(t.wday)

纪元秒数

在内部,Time 表示自Unix 纪元(1970 年 1 月 1 日 UTC)以来经过的秒数。使用 to_i 获取秒数,并使用 Time.at 转换回来。

secs = Time.new(2026, 1, 1, 0, 0, 0, '+00:00').to_i
puts secs
puts(Time.at(secs).utc.year)

Date 类

如果要进行不涉及时钟时间的日历操作,请引入 date 库并使用 Date 类。

require 'date'
d = Date.new(2026, 5, 30)
puts d.class
puts(d.to_s)

今天与现在

Date.today 提供当前日历日期。DateTime.now 还会包含当天的时间。

require 'date'
puts(Date.today.class)
puts(DateTime.now.class)

星期几

Date 提供了易于理解的谓词和工作日名称。

require 'date'
d = Date.new(2026, 5, 30)
puts(d.saturday?)
puts(d.wday)

Date、Time 与 DateTime 的区别

请选择合适的类:

  • Date 仅表示日历日期,不包含时钟时间
  • Time 表示带时区的精确时刻,速度较快
  • DateTime 表示日期和时间,是日期库的一部分

现代 Ruby 代码通常优先使用 Time。

require 'date'
puts(Date.new(2026, 5, 30))
puts(Time.new(2026, 5, 30, 9, 0).hour)

闰年

Date.leap? 会告诉您某一年是否为闰年,而闰年会影响二月的天数。

require 'date'
puts(Date.leap?(2024))
puts(Date.leap?(2026))

UTC 与本地时间

Time 可以处于本地时区或 UTC。utc 会将其转换为 UTC,localtime 会将其转换回本地时间。utc? 会检查当前模式。

t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.utc.hour)
puts(t.utc?)

比较 Time

Time 和 Date 对象可以使用 <、> 和 == 进行比较,因此您可以直接对它们排序或检查顺序。

a = Time.new(2026, 1, 1)
b = Time.new(2026, 6, 1)
puts(a < b)
puts([b, a].min.month)

快速检查

哪个类表示不包含当天时间的日历日期?

回顾:Time 和 Date 类

您已经学习了核心日期和时间类型:

  • 使用 Time.now / Time.new 表示时刻
  • 组成部分:年、月、日、小时、分钟、秒、星期几
  • 通过 to_i 和 Time.at 获取纪元秒数
  • 使用日期库中的 Date / DateTime
  • UTC 与本地时间、比较以及闰年
require 'date'
puts(Date.today.year)

常见问题解答

「时间与日期类」课时是免费的吗?

是的 — 「时间与日期类」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ruby Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ruby Academy 课程共包含 4 节课。

「时间与日期类」这节课中我会学到什么?

处理时间 你通过在浏览器中直接运行的动手代码来练习 Ruby Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ruby Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ruby Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「时间与日期类」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ruby Academy 课中编写并运行代码吗?

能。每节 Ruby Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 时间与日期类
  2. 解析与格式化
  3. 时间运算
  4. 时区
← 返回 Ruby Academy