ts.util
クラス DateTimeRange

java.lang.Object
  上位を拡張 ts.util.Range<DateTime>
      上位を拡張 ts.util.DateTimeRange

public class DateTimeRange
extends Range<DateTime>

日時の範囲を表すクラス。
フィールド変数に二つの日時を持ち、その差を年単位や日単位で算出したり、 指定された日時が範囲内にあるかどうかを判定するためのメソッドを用意している。

バージョン:
$Revision: 1.1.1.1 $, $Date: 2010-10-16 00:03:44 $
作成者:
佐藤隆之.

コンストラクタの概要
DateTimeRange(DateTime dttm1, DateTime dttm2)
          二つの日時オブジェクトを引数にとるコンストラクタ。
 
メソッドの概要
 int countDays()
          日時の範囲に含まれる日の数を求める。
 long countHours()
          日時の範囲に含まれる時の数を求める。
 long countMinutes()
          日時の範囲に含まれる分の数を求める。
 int countMonths()
          日時の範囲に含まれる月の数を求める。
 long countSeconds()
          日時の範囲に含まれる秒の数を求める。
 int countYears()
          日時の範囲に含まれる年の数を求める。
 boolean encompass(DateTime dttm)
          指定された日時がこのオブジェクトの示す日時の範囲に含まれているかどうかを 判定する。
 boolean encompass(DateTimeRange range)
          指定された日時の範囲がこのオブジェクトの示す日時の範囲に含まれているか どうかを判定する。
 DateTimeRange expandsWith(DateTime dttm)
          指定された日時を含むように、このオブジェクトの示す範囲を拡張した範囲を取得 する。
 DateTimeRange expandsWith(DateTimeRange range)
          指定された範囲を含むように、このオブジェクトの示す範囲を拡張した範囲を 取得する。
 DateTime getEnd()
          終了日時を取得する。
 DateTime getStart()
          開始日時を取得する。
 DateTimeRange intersectsWith(DateTimeRange range)
          指定された日時の範囲とこのオブジェクトの示す日時の範囲の重なる範囲を 取得する。
 int intervalInDay()
          二つの日時の差を日単位で求める。
 long intervalInHour()
          二つの日時の差を時単位で求める。
 long intervalInMinute()
          二つの日時の差を分単位で求める。
 int intervalInMonth()
          二つの日時の差を月単位で求める。
 long intervalInSecond()
          二つの日時の差を秒単位で求める。
 int intervalInYear()
          二つの日時の差を年単位で求める。
protected  void set(long millis1, long millis2, java.util.Calendar calendar)
          日時範囲の開始ミリ秒と終了ミリ秒、カレンダを設定する。
 void setRange(DateTime dttm1, DateTime dttm2)
          二つの日時オブジェクトを設定する。
 
クラス ts.util.Range から継承されたメソッド
encompass, equals, expandsWith, intersectsWith, toString
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

DateTimeRange

public DateTimeRange(DateTime dttm1,
                     DateTime dttm2)
二つの日時オブジェクトを引数にとるコンストラクタ。
引数の日時オブジェクトには、大小を関係なく指定することができる。

パラメータ:
dttm1 - 日時1。
dttm2 - 日時2。
例外:
java.lang.IllegalArgumentException - 二つの日時オブジェクトのカレンダーが 異なる場合。
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。
メソッドの詳細

setRange

public final void setRange(DateTime dttm1,
                           DateTime dttm2)
二つの日時オブジェクトを設定する。
引数の日時オブジェクトには、大小を関係なく指定することができる。

オーバーライド:
クラス Range<DateTime> 内の setRange
パラメータ:
dttm1 - 日時1。
dttm2 - 日時2。
例外:
java.lang.IllegalArgumentException - 二つの日時オブジェクトのカレンダーが 異なる場合。
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。

set

protected void set(long millis1,
                   long millis2,
                   java.util.Calendar calendar)
日時範囲の開始ミリ秒と終了ミリ秒、カレンダを設定する。
開始ミリ秒と終了ミリ秒の大小関係が逆の場合は入れ替えて設定する。

パラメータ:
millis1 - 開始ミリ秒。
millis2 - 終了ミリ秒。
calendar - カレンダオブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。

getStart

public DateTime getStart()
開始日時を取得する。
二つの日時のうちの小さい方を返す。

オーバーライド:
クラス Range<DateTime> 内の getStart
戻り値:
開始日時。

getEnd

public DateTime getEnd()
終了日時を取得する。
二つの日時のうちの大きい方を返す。

オーバーライド:
クラス Range<DateTime> 内の getEnd
戻り値:
終了日時。

intervalInYear

public int intervalInYear()
二つの日時の差を年単位で求める。
二つの日時の大きい方が、小さい方の翌年の日時よりも前の場合に0と数える。 例えば、2005-04-10〜2006-04-09の場合は0、2005-04-10〜2006-04-11の場合は1を 返す。

戻り値:
このオブジェクトが保持する二つの日時の年単位の差。

intervalInMonth

public int intervalInMonth()
二つの日時の差を月単位で求める。
二つの日時の大きい方が、小さい方の翌月の日時よりも前の場合に0と数える。 例えば、2006-04-10〜2006-05-09の場合は0、2006-04-10〜2006-05-11の場合は1を 返す。

戻り値:
このオブジェクトが保持する二つの日時の月単位の差。

intervalInDay

public int intervalInDay()
二つの日時の差を日単位で求める。
二つの日時の大きい方が、小さい方の翌日の日時よりも前の場合に0と数える。 例えば、2006-04-10 11:22:33〜2006-04-11 11:22:32の場合は0、 2006-04-10 11:22:33〜2006-04-11 11:22:34の場合は1を返す。

戻り値:
このオブジェクトが保持する二つの日時の日単位の差。

intervalInHour

public long intervalInHour()
二つの日時の差を時単位で求める。
二つの日時の大きい方が、小さい方の次の時の日時よりも前の場合に0と数える。 例えば、2006-04-10 11:22:33〜2006-04-10 12:22:32の場合は0、 2006-04-10 11:22:33〜2006-04-10 12:22:34の場合は1を返す。

戻り値:
このオブジェクトが保持する二つの日時の時単位の差。

intervalInMinute

public long intervalInMinute()
二つの日時の差を分単位で求める。
二つの日時の大きい方が、小さい方の次の分の日時よりも前の場合に0と数える。 例えば、2006-04-10 11:22:33〜2006-04-10 11:23:32の場合は0、 2006-04-10 11:22:33〜2006-04-10 11:22:34の場合は1を返す。

戻り値:
このオブジェクトが保持する二つの日時の分単位の差。

intervalInSecond

public long intervalInSecond()
二つの日時の差を秒単位で求める。
二つの日時の大きい方が、小さい方の次の秒の日時よりも前の場合に0と数える。 例えば、2006-04-10 11:22:33.111〜2006-04-10 11:22:34.110の場合は0、 2006-04-10 11:22:33.111〜2006-04-10 11:22:34.112の場合は1を返す。

戻り値:
このオブジェクトが保持する二つの日時の分単位の差。

countYears

public int countYears()
日時の範囲に含まれる年の数を求める。
例えば、2005-04-10〜2007-04-09の場合は2005,2006,2007年が含まれるので3を 返す。

戻り値:
このオブジェクトが示す日時の範囲に含まれる年の数。

countMonths

public int countMonths()
日時の範囲に含まれる月の数を求める。
例えば、2006-04-10〜2006-06-09の場合は4,5,6月が含まれるので3を返す。

戻り値:
このオブジェクトが示す日時の範囲に含まれる月の数。

countDays

public int countDays()
日時の範囲に含まれる日の数を求める。
例えば、2006-04-10 11:22:33〜2006-04-12 11:22:32の場合は10,11,12日 が含まれるので3を返す。

戻り値:
このオブジェクトが示す日時の範囲に含まれる日の数。

countHours

public long countHours()
日時の範囲に含まれる時の数を求める。
例えば、2006-04-10 11:22:33〜2006-04-10 13:22:32の場合は11,12,13時が 含まれるので3を返す。

戻り値:
このオブジェクトが示す日時の範囲に含まれる時の数。

countMinutes

public long countMinutes()
日時の範囲に含まれる分の数を求める。
例えば、2006-04-10 11:22:33〜2006-04-10 11:24:32の場合は22,23,24分が 含まれるので3を返す。

戻り値:
このオブジェクトが示す日時の範囲に含まれる分の数。

countSeconds

public long countSeconds()
日時の範囲に含まれる秒の数を求める。
例えば、2006-04-10 11:22:33.444〜2006-04-10 11:22:35.443の場合は 33,34,35秒が含まれるので3を返す。

戻り値:
このオブジェクトが示す日時の範囲に含まれる秒の数。

encompass

public boolean encompass(DateTime dttm)
指定された日時がこのオブジェクトの示す日時の範囲に含まれているかどうかを 判定する。

オーバーライド:
クラス Range<DateTime> 内の encompass
パラメータ:
dttm - 判定対象となる日時。
戻り値:
引数の日時が含まれている場合はtrue、そうでなければ false
例外:
java.lang.IllegalArgumentException - 引数のもつカレンダが、このオブジェクト の保持するカレンダと異なる場合。
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。

encompass

public boolean encompass(DateTimeRange range)
指定された日時の範囲がこのオブジェクトの示す日時の範囲に含まれているか どうかを判定する。

パラメータ:
range - 判定対象となる日時の範囲。
戻り値:
引数の日時の範囲が含まれている場合はtrue、そうでなければ false
例外:
java.lang.IllegalArgumentException - 引数のもつカレンダが、このオブジェクト の保持するカレンダと異なる場合。
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。

intersectsWith

public DateTimeRange intersectsWith(DateTimeRange range)
指定された日時の範囲とこのオブジェクトの示す日時の範囲の重なる範囲を 取得する。

パラメータ:
range - 日時の範囲。
戻り値:
引数の日時の範囲とこのオブジェクトとが重なる範囲。
例外:
java.lang.IllegalArgumentException - 引数のもつカレンダが、このオブジェクト の保持するカレンダと異なる場合。
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。

expandsWith

public DateTimeRange expandsWith(DateTime dttm)
指定された日時を含むように、このオブジェクトの示す範囲を拡張した範囲を取得 する。
元から指定された日時を含んでいた場合は、このオブジェクトと同じ範囲を返す。

オーバーライド:
クラス Range<DateTime> 内の expandsWith
パラメータ:
dttm - 日時オブジェクト。
戻り値:
指定された日時を含むように拡張された範囲。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。

expandsWith

public DateTimeRange expandsWith(DateTimeRange range)
指定された範囲を含むように、このオブジェクトの示す範囲を拡張した範囲を 取得する。
元から指定された範囲を含んでいた場合は、このオブジェクトと同じ範囲を返す。

パラメータ:
range - 範囲。
戻り値:
指定された範囲を含むように拡張された範囲。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。


Copyright (C) SATOH Takayuki All Rights Reserved.