Calendar`
Calendar`

DaysBetween

バージョン10.0で,暦機能はWolfram言語に組み込まれた »

DaysBetween[{year1,month1,day1},{year2,month2,day2}]

{year1,month1,day1}{year2,month2,day2}という2つの日付の間の日数を返す.

DaysBetween[{year1,month1,day1,hour1,minute1,second1},{year2,month2,day2,hour2,minute2,second2}]

指定された日付の間の日数を返す.

詳細とオプション

  • DaysBetweenを使うためには,まず暦パッケージをロードしなくてはならない.それにはNeeds["Calendar`"]を実行する必要がある.
  • 次のオプションを使うことができる:
  • Calendar Automaticどの暦を使うかを指定する
  • デフォルトのカレンダーは通常のアメリカの暦であるが,Calendarオプションを使って変更することができる.
  • DaysBetweenに有効な設定はAutomaticJulianGregorianIslamicJewishである.

例題

すべて開くすべて閉じる

  (7)

次の連続する日付の間にある日数は1日である:

同じ日付の間にある日数は0日である:

2番目の日付の方が最初のものよりも前の場合は,負の結果が返される:

ケネディー大統領の任期は1000日続いたと言われている:

時間,分,秒はDaysBetweenには影響しない:

デフォルトの(西洋/アメリカ)暦では,1752年の9月から11日間削除されている:

デフォルトの(西洋/アメリカ)暦では,1752年には355日しかない:

オプション  (4)

Calendar  (4)

カトリックの国々は現代のグレゴリオ暦を1582年に採用したが,英国およびその植民地では1752年までユリウス暦を使っていた.Wolfram言語では英国式の暦を使うので,カトリックの国々の日付の計算にはGregorianオプションが必要である.

ヴォルテールの生存日数を計算する:

ロシア正教解はユリウス暦を維持してきた.その暦では1900年は閏年であった:

標準的な西洋暦では,1900年は閏年ではない:

イスラム年は西洋年よりもずっと短い:

ユダヤ年の長さは,閏月があるためにまちまちである:

考えられる問題  (2)

西洋暦は正確さを求めてユリウス暦からグレゴリオ暦に変更された.この変更により,カトリックの国々では1582年10月の10日間を削除し,英国とその植民地では1752年9月の11日間を削除した.Wolfram言語はデフォルトで英国(アメリカ)方式を適用する.このため,1582年10月14日より後で1752年9月14日より前の日付に関してDaysBetweenには問題がある.英国式の日付では,デフォルトで正しい答が得られる.カトリックの国々の日付では,CalendarGregorianオプションを使う必要がある.

ジョージワシントンが生存した日数を計算する:

ヴォルテールが生存した日数を計算する:

ユダヤ暦は太陰太陽暦(年は季節に従い,月は月の満ち欠けの経過を追う)なので,19年ごとに7回の余分な閏月がある.この閏月は,春の過越祭の前の月であるため,過越祭の月であるニサンから次のようにユダヤ月を数えるのが適切である:

ユダヤ暦の1年は秋に始まるので,月の番号は常に昇順であるとは限らない.つまり,同じ年の後の日付の方が月数が小さいことがある:

このため,DaysBetweenCalendar->Jewishオプションを使っても動作するが,同じ規則には従わない.例えば,2つ目の日付の方が辞書式並び順(Wolfram言語での通常の順序)で小さくても.正の数が返される: