superclass=Object
type=class
library=date
extended=
included=Comparable

日付だけでなく時刻も扱える Date のサブクラス [[c:DateTime]] も利用できます。

=== 簡単なつかいかた

  require 'date'

  a = Date.new(1993, 2, 24)
  b = Date.parse('1993-02-24')
  b += 10

  b - a            #=> 10
  b.year           #=> 1993
  b.strftime('%a') #=> "Sat"

  yesterday = Date.today - 1

=== 用語の定義

いくつか用語の定義は、[[ISO:8601]]、および [[JIS:X 0301]] に基づきます。

==== 暦日付

暦日付は、暦年、暦月、および暦月の中の序数によって
指定される特定の日の日付です。

つまり、ごく当たり前の年月日による日付です。

==== 年間通算日 (年日付)

年間通算日 (年日付) は、暦年、および暦年の中の序数によって指定される
特定の日の日付です。

==== 暦週日付

暦週日付は、暦週と暦年中の序数による日付です。

暦週は、暦年中の序数によって指定される特定の7日の期間であり、月曜から
始まります。その年の第1暦週は、最初の木曜日を含む週とします。これは、
1月4日を含む週と同じです。

==== ユリウス日

ユリウス日は紀元前4713年1月1日 (ユリウス暦) 正午 (グリニッジ平均時) を
暦元とした通日 (経過日数) です。

この文書で、天文学的なユリウス日とは、本来のユリウス日と同じものです。
また、年代学的なユリウス日とは、地方時における零時を一日の始まりとする
流儀です。

この文書で、単に「ユリウス日」といった場合、それは本来のユリウス日でな
く、「年代学的なユリウス日」を意味しています。

==== 修正ユリウス日

修正ユリウス日は西暦1858年11月17日 (グレゴリオ暦) 正子/零時 (協定世界時) を
暦元とした通日 (経過日数) です。

この文書で、天文学的な修正ユリウス日とは、本来の修正ユリウス日と同じも
のです。また、年代学的な修正ユリウス日とは、地方時における零時を一日の
始まりとする流儀です。

この文書で、単に「修正ユリウス日」といった場合、それは本来の修正ユリウ
ス日でなく、「年代学的な修正ユリウス日」を意味しています。
