概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## ts.util
クラス DateTime

    java.lang.Object
      ts.util.DateTime

すべての実装されたインタフェース:
  java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<DateTime>

    public class DateTime

extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<DateTime>

日時を表現するクラス。
日付及び時刻に関する情報及び操作をまとめたクラスである。 デフォルトで使用する暦はグレゴリオ暦であり、そのカレンダオブジェクトとして `GregorianCalendar`オブジェクトを使用する。 ロケールやタイムゾーンは、特に指定しなかった場合はシステムでデフォルトのもの が使用される。
使用する暦やロケール、タイムゾーンを変更したい場合は、カレンダオブジェクトを 引数にとるコンストラクタを使用する。
日付の演算や不正チェックは、使用しているカレンダオブジェクトに任せている。
このクラスは、JDKの日付関連のクラスに比べて以下の機能が追加されている：

- 月を整数型で設定又は取得するとき、0〜11ではなく1〜12で指定するように した。用意した月定数（`JANUARY, FEBRUARY`, etc.)も1〜12の値 が割り当てられている。
- 年月日時分秒などの値を取得するとき、`java.util.Calendar`を 使って求める手間を隠蔽した。
- 日付を`java.sql.Date`/ `java.sql.Time` / `java.sql.Timestamp` クラスのインスタンスとして取得するメソッドを追加した。
- 指定した日付の開始時刻と終了時刻、指定した月の開始日時と終了日時を設定 するメソッドを用意した。

バージョン:
  $Revision: 1.1.1.1 $, $Date: 2010-10-16 00:03:43 $
作成者:
  佐藤隆之.
関連項目:
  直列化された形式

フィールドの概要
`static int` | `APRIL` ４月を表す定数。
`static int` | `AUGUST` ８月を表す定数。
`static int` | `DECEMBER` 12月を表す定数。
`static int` | `FEBRUARY` ２月を表す定数。
`static int` | `FRIDAY` 金曜日を表す定数。
`static int` | `JANUARY` １月を表す定数。
`static int` | `JULY` ７月を表す定数。
`static int` | `JUNE` ６月を表す定数。
`static int` | `MARCH` ３月を表す定数。
`static int` | `MAY` ５月を表す定数。
`static int` | `MONDAY` 月曜日を表す定数。
`static int` | `NOVEMBER` 11月を表す定数。
`static int` | `OCTOBER` 10月を表す定数。
`static int` | `SATURDAY` 土曜日を表す定数。
`static int` | `SEPTEMBER` ９月を表す定数。
`static int` | `SUNDAY` 日曜日を表す定数。
`static int` | `THURSDAY` 木曜日を表す定数。
`static int` | `TUESDAY` 火曜日を表す定数。
`static int` | `WEDNESDAY` 水曜日を表す定数。

コンストラクタの概要
`DateTime()` デフォルトコンストラクタ。
`DateTime(java.util.Calendar calendar)` カレンダオブジェクトを引数にとるコンストラクタ。
`DateTime(java.util.Date date)` JDKの日付オブジェクトを引数にとるコンストラクタ。
`DateTime(DateTime datetime)` コピーコンストラクタ。
`DateTime(int year, int month, int day)` 年月日を引数にとるコンストラクタ。
`DateTime(int year, int month, int day, int hour, int min, int sec)` 年月日時分秒を引数にとるコンストラクタ。
`DateTime(int era, int year, int month, int day, int hour, int min, int sec)` 元号を示すコードと年月日時分秒を引数にとるコンストラクタ。
`DateTime(long datetime)` ミリ秒単位の日時を引数にとるコンストラクタ。

メソッドの概要
`void` | `addDay(int days)` 指定されている日付に指定された日数を加算する。
`void` | `addHour(int hours)` 指定されている日付の時刻に指定された時間を加算する。
`void` | `addMinute(int minutes)` 指定されている日付の時刻に指定された分を加算する。
`void` | `addMonth(int months)` 指定されている日付に指定された月数を加算する。
`void` | `addSecond(int seconds)` 設定されている日付の時刻に指定された秒を加算する。
`void` | `addYear(int years)` 設定されている日付に指定された年数を加算する。
`void` | `ceilMinute(int minute)` 分を指定された値で切り上げる。
`int` | `compareTo(DateTime dttm)` 指定されたオブジェクトとの大小を比較する。
`boolean` | `equals(java.lang.Object obj)` 指定されたオブジェクトと内容が等しいかどうかを比較する。
`protected boolean` | `equalsCalendar(DateTime dttm)` 指定された日時オブジェクトとカレンダが等しいかどうかを判定する。
`void` | `floorMinute(int minute)` 分を指定された値で切り下げる。
`java.util.Calendar` | `getCalendar()` 日時を`Calendar`オブジェクトとして取得する。
`java.util.Date` | `getDate()` 日時を`Date`オブジェクトとして取得する。
`long` | `getDateTimeMillis()` 日時をミリ秒単位で取得する。
`int` | `getDay()` 日を取得する。
`int` | `getEra()` 元号を示す`int`値を取得する。
`int` | `getHour()` 時を取得する。
`int` | `getMinute()` 分を取得する。
`int` | `getMonth()` 月を取得する。
`int` | `getSecond()` 秒を取得する。
`java.sql.Date` | `getSQLDate()` 日時を`Date`オブジェクトとして取得する。
`java.sql.Time` | `getSQLTime()` 日時を`Time`オブジェクトとして取得する。
`java.sql.Timestamp` | `getSQLTimestamp()` 日時を`Timestamp`オブジェクトとして取得する。
`java.util.TimeZone` | `getTimeZone()` タイムゾーンを取得する。
`int` | `getWeek()` 曜日を表すコードを取得する。
`int` | `getYear()` 年を取得する。
`int` | `hashCode()` このオブジェクトのハッシュコードを取得する。
`static DateTime` | `parseDateTime(java.lang.String str)` 引数に指定された文字列を日時に変換する。
`void` | `setDateTime(java.util.Date date)` 日時を日付オブジェクトで設定する。
`void` | `setDateTime(int year, int month, int day)` 日時を年月日で設定する。
`void` | `setDateTime(int y, int m, int d, int hh, int mm, int ss)` 日時を年月日時分秒で設定する。
`void` | `setDateTime(int e, int y, int m, int d, int hh, int mm, int ss)` 日時を元号及び年月日時分秒で設定する。
`void` | `setDateTime(long millis)` 日時をミリ単位で設定する。
`void` | `setEndDayOfMonth()` 設定されている日付を、その月の終了日時に設定する。
`void` | `setEndDayOfWeek()` 設定されている日付を、その週の終了日時（土曜日）に設定する。
`void` | `setEndTimeOfDay()` 設定されている日付の時刻を、終了時刻(23:59:59.999)に設定する。
`void` | `setStartDayOfMonth()` 設定されている日付を、その月の開始日時に設定する。
`void` | `setStartDayOfWeek()` 設定されている日付をその週の開始日時（日曜日）に設定する。
`void` | `setStartTimeOfDay()` 設定されている日付の時刻を、開始時刻(00:00:00)に設定する。
`java.lang.String` | `toString()` 日時を文字列に変換して出力する。
`static java.lang.String` | `toString(DateTime dttm)` 引数に指定された日時を文字列に変換する。

クラス java.lang.Object から継承されたメソッド
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

フィールドの詳細

### JANUARY

    public static final int JANUARY

  １月を表す定数。

  関連項目:
    定数フィールド値

### FEBRUARY

    public static final int FEBRUARY

  ２月を表す定数。

  関連項目:
    定数フィールド値

### MARCH

    public static final int MARCH

  ３月を表す定数。

  関連項目:
    定数フィールド値

### APRIL

    public static final int APRIL

  ４月を表す定数。

  関連項目:
    定数フィールド値

### MAY

    public static final int MAY

  ５月を表す定数。

  関連項目:
    定数フィールド値

### JUNE

    public static final int JUNE

  ６月を表す定数。

  関連項目:
    定数フィールド値

### JULY

    public static final int JULY

  ７月を表す定数。

  関連項目:
    定数フィールド値

### AUGUST

    public static final int AUGUST

  ８月を表す定数。

  関連項目:
    定数フィールド値

### SEPTEMBER

    public static final int SEPTEMBER

  ９月を表す定数。

  関連項目:
    定数フィールド値

### OCTOBER

    public static final int OCTOBER

  10月を表す定数。

  関連項目:
    定数フィールド値

### NOVEMBER

    public static final int NOVEMBER

  11月を表す定数。

  関連項目:
    定数フィールド値

### DECEMBER

    public static final int DECEMBER

  12月を表す定数。

  関連項目:
    定数フィールド値

### SUNDAY

    public static final int SUNDAY

  日曜日を表す定数。

  関連項目:
    定数フィールド値

### MONDAY

    public static final int MONDAY

  月曜日を表す定数。

  関連項目:
    定数フィールド値

### TUESDAY

    public static final int TUESDAY

  火曜日を表す定数。

  関連項目:
    定数フィールド値

### WEDNESDAY

    public static final int WEDNESDAY

  水曜日を表す定数。

  関連項目:
    定数フィールド値

### THURSDAY

    public static final int THURSDAY

  木曜日を表す定数。

  関連項目:
    定数フィールド値

### FRIDAY

    public static final int FRIDAY

  金曜日を表す定数。

  関連項目:
    定数フィールド値

### SATURDAY

    public static final int SATURDAY

  土曜日を表す定数。

  関連項目:
    定数フィールド値

コンストラクタの詳細

### DateTime

    public DateTime()

  デフォルトコンストラクタ。
  現在の日時を保持するインスタンスを構築する。

### DateTime

    public DateTime(DateTime datetime)

  コピーコンストラクタ。
  引数と同じ日時及びカレンダを持つインスタンスを構築する。

  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### DateTime

    public DateTime(long datetime)

  ミリ秒単位の日時を引数にとるコンストラクタ。
  1970年1月1日0時0分0秒をゼロとするミリ秒単位の`long`値を設定 する。

  パラメータ:
    `datetime` - ミリ秒単位の日時。

### DateTime

    public DateTime(java.util.Date date)

  JDKの日付オブジェクトを引数にとるコンストラクタ。

  パラメータ:
    `date` - `Date`オブジェクト。
  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### DateTime

    public DateTime(int year,
                    int month,
                    int day)
             throws java.lang.IllegalArgumentException

  年月日を引数にとるコンストラクタ。
  時分秒には、0時0分0秒を設定する。
  指定された年月日が不正な場合は例外をスローする。

  パラメータ:
    `year` - 年。
    `month` - 月(1〜12)。
    `day` - 日(1〜31)。
  例外:
    `java.lang.IllegalArgumentException` - 指定された年月日が不正な場合。

### DateTime

    public DateTime(int year,
                    int month,
                    int day,
                    int hour,
                    int min,
                    int sec)
             throws java.lang.IllegalArgumentException

  年月日時分秒を引数にとるコンストラクタ。
  指定された年月日時分秒が不正な場合は例外をスローする。

  パラメータ:
    `year` - 年。
    `month` - 月(1〜12)。
    `day` - 日(1〜31)。
    `hour` - 時(0〜23)。
    `min` - 分(0〜59)。
    `sec` - 秒(0〜59)。
  例外:
    `java.lang.IllegalArgumentException` - 指定された年月日が不正な場合。

### DateTime

    public DateTime(int era,
                    int year,
                    int month,
                    int day,
                    int hour,
                    int min,
                    int sec)
             throws java.lang.IllegalArgumentException

  元号を示すコードと年月日時分秒を引数にとるコンストラクタ。
  指定された元号又は年月日時分秒が不正な場合は例外をスローする。

  パラメータ:
    `era` - 元号を示すコード。
    `year` - 年。
    `month` - 月(1〜12)。
    `day` - 日(1〜31)。
    `hour` - 時(0〜23)。
    `min` - 分(0〜59)。
    `sec` - 秒(0〜59)。
  例外:
    `java.lang.IllegalArgumentException` - 指定された年月日が不正な場合。

### DateTime

    public DateTime(java.util.Calendar calendar)

  カレンダオブジェクトを引数にとるコンストラクタ。
  使用したい暦に対応する`Calendar`オブジェクトを 設定する。

  パラメータ:
    `calendar` - `Calendar`オブジェクト。
  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

メソッドの詳細

### getDateTimeMillis

    public long getDateTimeMillis()

  日時をミリ秒単位で取得する。

  戻り値:
    ミリ秒単位の日時。

### getDate

    public java.util.Date getDate()

  日時を`Date`オブジェクトとして取得する。

  戻り値:
    `Date`オブジェクト。

### getSQLDate

    public java.sql.Date getSQLDate()

  日時を`Date`オブジェクトとして取得する。

  戻り値:
    `Date`オブジェクト。

### getSQLTime

    public java.sql.Time getSQLTime()

  日時を`Time`オブジェクトとして取得する。

  戻り値:
    `Time`オブジェクト。

### getSQLTimestamp

    public java.sql.Timestamp getSQLTimestamp()

  日時を`Timestamp`オブジェクトとして取得する。

  戻り値:
    `Timestamp`オブジェクト。

### getCalendar

    public java.util.Calendar getCalendar()

  日時を`Calendar`オブジェクトとして取得する。

  戻り値:
    `Calendar`オブジェクト。

### getTimeZone

    public java.util.TimeZone getTimeZone()

  タイムゾーンを取得する。

  戻り値:
    タイムゾーンを取得する。

### getEra

    public int getEra()

  元号を示す`int`値を取得する。

  戻り値:
    元号を示す`int`値。

### getYear

    public int getYear()

  年を取得する。

  戻り値:
    年。

### getMonth

    public int getMonth()

  月を取得する。

  戻り値:
    月(1〜12)。

### getDay

    public int getDay()

  日を取得する。

  戻り値:
    日(1〜31)。

### getWeek

    public int getWeek()

  曜日を表すコードを取得する。
  コードは、日曜日から順に1〜7の値をとる。

  戻り値:
    曜日を表すコード。

### getHour

    public int getHour()

  時を取得する。

  戻り値:
    時(0〜23)。

### getMinute

    public int getMinute()

  分を取得する。

  戻り値:
    分(0〜59)。

### getSecond

    public int getSecond()

  秒を取得する。

  戻り値:
    秒(0〜59)。

### setDateTime

    public void setDateTime(long millis)

  日時をミリ単位で設定する。

  パラメータ:
    `millis` - ミリ秒単位の日時。

### setDateTime

    public void setDateTime(java.util.Date date)

  日時を日付オブジェクトで設定する。

  パラメータ:
    `date` - `Date`オブジェクト。
  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### setDateTime

    public void setDateTime(int year,
                            int month,
                            int day)
                     throws java.lang.IllegalArgumentException

  日時を年月日で設定する。
  時分秒にはそれぞれゼロが設定される。

  パラメータ:
    `year` - 年。
    `month` - 月(1〜12)。
    `day` - 日(1〜31)。
  例外:
    `java.lang.IllegalArgumentException` - 指定された年月日が不正な場合。

### setDateTime

    public void setDateTime(int y,
                            int m,
                            int d,
                            int hh,
                            int mm,
                            int ss)
                     throws java.lang.IllegalArgumentException

  日時を年月日時分秒で設定する。

  パラメータ:
    `y` - 年。
    `m` - 月(1〜12)。
    `d` - 日(1〜31)。
    `hh` - 時(0〜23)。
    `mm` - 分(0〜59)。
    `ss` - 秒(0〜59)。
  例外:
    `java.lang.IllegalArgumentException` - 指定された年月日時分秒が不正な場合。

### setDateTime

    public void setDateTime(int e,
                            int y,
                            int m,
                            int d,
                            int hh,
                            int mm,
                            int ss)
                     throws java.lang.IllegalArgumentException

  日時を元号及び年月日時分秒で設定する。

  パラメータ:
    `e` - 元号を表すコード。
    `y` - 年。
    `m` - 月(1〜12)。
    `d` - 日(1〜31)。
    `hh` - 時(0〜23)。
    `mm` - 分(0〜59)。
    `ss` - 秒(0〜59)。
  例外:
    `java.lang.IllegalArgumentException` - 指定された元号や年月日時分秒が不正な場合。

### setStartTimeOfDay

    public void setStartTimeOfDay()

  設定されている日付の時刻を、開始時刻(00:00:00)に設定する。

### setEndTimeOfDay

    public void setEndTimeOfDay()

  設定されている日付の時刻を、終了時刻(23:59:59.999)に設定する。

### setStartDayOfMonth

    public void setStartDayOfMonth()

  設定されている日付を、その月の開始日時に設定する。

### setEndDayOfMonth

    public void setEndDayOfMonth()

  設定されている日付を、その月の終了日時に設定する。

### setStartDayOfWeek

    public void setStartDayOfWeek()

  設定されている日付をその週の開始日時（日曜日）に設定する。

### setEndDayOfWeek

    public void setEndDayOfWeek()

  設定されている日付を、その週の終了日時（土曜日）に設定する。

### floorMinute

    public void floorMinute(int minute)

  分を指定された値で切り下げる。
  引数が0の場合は、切り下げを行わない。

  パラメータ:
    `minute` - 切り下げの単位となる値。
  例外:
    `java.lang.AssertionError` - 引数が負の場合（デバッグモードのみ）。

### ceilMinute

    public void ceilMinute(int minute)

  分を指定された値で切り上げる。
  引数が0の場合は、切り上げを行わない。

  パラメータ:
    `minute` - 切り上げの単位となる値。

### addYear

    public void addYear(int years)

  設定されている日付に指定された年数を加算する。

  パラメータ:
    `years` - 加算する年数。

### addMonth

    public void addMonth(int months)

  指定されている日付に指定された月数を加算する。

  パラメータ:
    `months` - 加算する月数。

### addDay

    public void addDay(int days)

  指定されている日付に指定された日数を加算する。

  パラメータ:
    `days` - 加算する日数。

### addHour

    public void addHour(int hours)

  指定されている日付の時刻に指定された時間を加算する。

  パラメータ:
    `hours` - 加算する時間。

### addMinute

    public void addMinute(int minutes)

  指定されている日付の時刻に指定された分を加算する。

  パラメータ:
    `minutes` - 加算する分。

### addSecond

    public void addSecond(int seconds)

  設定されている日付の時刻に指定された秒を加算する。

  パラメータ:
    `seconds` - 加算する秒。

### hashCode

    public int hashCode()

  このオブジェクトのハッシュコードを取得する。

  オーバーライド:
    クラス `java.lang.Object` 内の `hashCode`
  戻り値:
    ハッシュコード。

### equalsCalendar

    protected boolean equalsCalendar(DateTime dttm)

  指定された日時オブジェクトとカレンダが等しいかどうかを判定する。

  パラメータ:
    `dttm` - 比較する日時オブジェクト。
  戻り値:
    `等しければ`true`を返す。`
  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### equals

    public boolean equals(java.lang.Object obj)

  指定されたオブジェクトと内容が等しいかどうかを比較する。
  引数が`DateTime`オブジェクトの場合は、 このオブジェクトの日時と指定されたオブジェクトの日時が等しいかどうかを 比較する。
  引数がヌルの場合または`DateTime`オブジェクト ではない場合は常に`false`を返す。

  オーバーライド:
    クラス `java.lang.Object` 内の `equals`
  パラメータ:
    `obj` - 比較するオブジェクト。
  戻り値:
    このオブジェクトと引数のオブジェクトの内容が等しい場合は `true`を、そうでなければ`false`を返す。

### compareTo

    public int compareTo(DateTime dttm)
                  throws java.lang.NullPointerException

  指定されたオブジェクトとの大小を比較する。
  このオブジェクトの日時と指定されたオブジェクトの日付を比較して、 このオブジェクト日時の方が早い場合は負の整数値を、遅い場合は正の整数値を、 等しい場合はゼロを返す。

  定義:
    インタフェース `java.lang.Comparable<DateTime>` 内の `compareTo`
  パラメータ:
    `dttm` - 比較する日時オブジェクト。
  戻り値:
    このオブジェクトの日時の方が早い場合は負の整数値を、遅い場合は正の 整数値を、等しい場合はゼロを返す。
  例外:
    `java.lang.NullPointerException` - 引数がヌルの場合。
    `java.lang.IllegalArgumentException` - このオブジェクトと引数の日時オブジェクトの カレンダが異なる場合。

### toString

    public java.lang.String toString()

  日時を文字列に変換して出力する。
  日時は、`SimpleDateFormat`を使用して、 `yyyy-MM-dd HH:mm:ss`の形式で出力される。

  オーバーライド:
    クラス `java.lang.Object` 内の `toString`
  戻り値:
    日時を表す文字列。
  関連項目:
    `toString(DateTime dttm)`

### toString

    public static java.lang.String toString(DateTime dttm)

  引数に指定された日時を文字列に変換する。
  日時は、`SimpleDateFormat`を使用して、 `yyyy-MM-dd HH:mm:ss`の形式で出力される。 元号が今と異なる場合には、`"yyyy-MM-dd HH:mm:ss (G)`の形式で出力 する。

  パラメータ:
    `dttm` - 日時オブジェクト。
  戻り値:
    日時を表す文字列。
  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。
  関連項目:
    `SimpleDateFormat`

### parseDateTime

    public static DateTime parseDateTime(java.lang.String str)
                                  throws java.text.ParseException

  引数に指定された文字列を日時に変換する。
  文字列の解釈には、`SimpleDateFormat` を使用する。 文字列が日時として解釈されるためには、その書式が`"yyyy-MM-dd"`、 `"yyyy-MM-dd HH:mm:ss"`、`"yyyy-MM-dd HH:mm:ss (G)"` のいずれかに従っている必要がある。
  引数の文字列の書式が不正な場合は、例外をスローする。

  パラメータ:
    `str` - 日時を表す文字列。
  戻り値:
    日時オブジェクト。
  例外:
    `java.text.ParseException` - 引数文字列の書式が不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。
  関連項目:
    `SimpleDateFormat`

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright (C) SATOH Takayuki All Rights Reserved.