Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

java.util
クラス Calendar

java.lang.Object
  上位を拡張 java.util.Calendar

public abstract class Calendar
extends Object

年、月、日といった要素単位で日付および時刻の情報を取り扱う抽象クラスです。 このクラスの内容は Java Platform, Standard Edition から大幅に縮小したサブセットです。

取り扱う対象の日時は Date オブジェクトで取り扱います。 この Date クラスはミリ秒単位の精度で日時を保持する専用のクラスです。 より詳しい説明は Date クラスの説明を参照してください。

実際に日時情報を取り扱うクラスは実装によって異なり、その実装の規定する規則に則って Date クラスの情報を解釈します。 このクラスの実装オブジェクトは getInstance() メソッドで取得します。

複数の時間フィールドによって日時情報を取り扱う場合に一部の情報が足りない場合があります。 例えば月と日だけを指定した場合などです。 この場合はデフォルト値が設定されたものとして補われます。 このデフォルト値は実装によって異なります。現在一般に使用されているグレゴリオ暦では、

などが補われます(実装が想定するロケールおよび設定されているタイム・ゾーンによって変化することがあります)。

Java Platform, Standard Edition では一貫性の無い日付指定の問題がありましたが、Java Platfrom, Micro Edition ではこの問題はありません。 CLDC の日付の指定で考えられる組み合わせは、MONTH + DAY_OF_MONTH のみで、DAY_OF_WEEK は日付の指定には使用できません。 なぜなら、DAY_OF_WEEK で日付を設定するには MONTH とその週が月の先頭から何週目であるかを示す WEEK_OF_MONTH が必要ですが、CLDC では省略されているためです。

時刻の設定では一貫性の無い指定が Java Platform, Micro Edition においても可能です。 時刻の設定で考えられる設定は、

の2種類です。このうち、後から設定された有効な設定を使用します。

0時および12時の解釈が曖昧になることがありますが、このクラスでは以下の様に解釈します。

また以下の指定は無効となり、時刻は変更されません。

set(int, int) メソッドでありえないようなパラメータを指定(単独・複合に限らず)した際にどのような挙動をするかは実装に依存します。

導入されたバージョン:
CLDC 1.0
関連項目:
TimeZone

フィールドの概要
static int AM
          get および set メソッドにおいて AM_PM フィールドに対応する午前を示します。
static int AM_PM
          get および set メソッドにおいて午前午後フィールドを示します。
static int APRIL
          get および set メソッドにおいて MONTH フィールドに対応する4番目の月を示します。
static int AUGUST
          get および set メソッドにおいて MONTH フィールドに対応する8番目の月を示します。
static int DATE
          get および set メソッドにおいて日フィールドを示します。
static int DAY_OF_MONTH
          get および set メソッドにおいて日フィールドを示します。
static int DAY_OF_WEEK
          get および set メソッドにおいて曜日フィールドを示します。
static int DECEMBER
          get および set メソッドにおいて MONTH フィールドに対応する12番目の月を示します。
static int FEBRUARY
          get および set メソッドにおいて MONTH フィールドに対応する2番目の月を示します。
protected  int[] fields
          このカレンダーのために現在設定されている時間のフィールド値を保持します。
static int FRIDAY
          get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する金曜を示します。
static int HOUR
          get および set メソッドにおいて12時間制での時フィールドを示します。
static int HOUR_OF_DAY
          get および set メソッドにおいて24時間制での時フィールドを示します。
protected  boolean[] isSet
          カレンダーのために設定された時間フィールド値が設定されたか否かを保持します。
static int JANUARY
          get および set メソッドにおいて MONTH フィールドに対応する1番目の月を示します。
static int JULY
          get および set メソッドにおいて MONTH フィールドに対応する7番目の月を示します。
static int JUNE
          get および set メソッドにおいて MONTH フィールドに対応する6番目の月を示します。
static int MARCH
          get および set メソッドにおいて MONTH フィールドに対応する3番目の月を示します。
static int MAY
          get および set メソッドにおいて MONTH フィールドに対応する5番目の月を示します。
static int MILLISECOND
          get および set メソッドにおいてミリ秒フィールドを示します。
static int MINUTE
          get および set メソッドにおいて分フィールドを示します。
static int MONDAY
          get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する月曜を示します。
static int MONTH
          get および set メソッドにおいて月フィールドを示します。
static int NOVEMBER
          get および set メソッドにおいて MONTH フィールドに対応する11番目の月を示します。
static int OCTOBER
          get および set メソッドにおいて MONTH フィールドに対応する10番目の月を示します。
static int PM
          get および set メソッドにおいて AM_PM フィールドに対応する午後を示します。
static int SATURDAY
          get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する土曜を示します。
static int SECOND
          get および set メソッドにおいて秒フィールドを示します。
static int SEPTEMBER
          get および set メソッドにおいて MONTH フィールドに対応する9番目の月を示します。
static int SUNDAY
          get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する日曜を示します。
static int THURSDAY
          get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する木曜を示します。
protected  long time
          このカレンダーのために現在設定されている時間を保持します。
static int TUESDAY
          get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する火曜を示します。
static int WEDNESDAY
          get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する水曜を示します。
static int YEAR
          get および set メソッドにおいて年フィールドを示します。
 
コンストラクタの概要
protected Calendar()
          デフォルトのタイム・ゾーンおよびロケールによるオブジェクトを構築します。
 
メソッドの概要
 boolean after(Object target)
          比較対象の Calendar オブジェクトがこのオブジェクトの時刻よりも以後であるか判定します。
 boolean before(Object target)
          比較対象の Calendar オブジェクトがこのオブジェクトの時刻よりも以前であるか判定します。
protected abstract  void computeFields()
          現在のミリ秒単位の時間フィールド値 time をフィールド値 fields[] へ変換します。
protected abstract  void computeTime()
          現在のフィールド値 fields[] をミリ秒単位の時間フィールド値 time へ変換します。
 boolean equals(Object obj)
          渡されたオブジェクトがこのオブジェクトと等しいか否かを返します。
 int get(int field)
          フィールドに対応する時刻の情報を返します。
static Calendar getInstance()
          デフォルトのタイム・ゾーンおよびロケールの実装オブジェクトを生成します。
static Calendar getInstance(TimeZone zone)
          渡されたタイム・ゾーンおよびデフォルトのロケールによる実装オブジェクトを生成します。
 Date getTime()
          保持している日時を返します。
protected  long getTimeInMillis()
          設定されている時刻が西暦 1970 年 1 月 1 日 (GMT) から何ミリ秒経過をしているかを返します。
 TimeZone getTimeZone()
          現在設定されているタイム・ゾーンの参照を返します。
 void set(int field, int value)
          フィールドに対応する時刻の情報を設定します。
 void setTime(Date dt)
          新たな日時を設定します。
protected  void setTimeInMillis(long ms)
          時刻を渡された西暦 1970 年 1 月 1 日 (GMT) からのミリ秒数に対応する時刻に変更します。
 void setTimeZone(TimeZone zone)
          新しいタイム・ゾーンを設定します。
 
クラス java.lang.Object から継承されたメソッド
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

YEAR

public static final int YEAR
get および set メソッドにおいて年フィールドを示します。

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

MONTH

public static final int MONTH
get および set メソッドにおいて月フィールドを示します。

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

DATE

public static final int DATE
get および set メソッドにおいて日フィールドを示します。 これは DAY_OF_MONTH と等価の意味を持ちます。

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

DAY_OF_MONTH

public static final int DAY_OF_MONTH
get および set メソッドにおいて日フィールドを示します。 これは DATE と等価の意味を持ちます。

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

DAY_OF_WEEK

public static final int DAY_OF_WEEK
get および set メソッドにおいて曜日フィールドを示します。

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

AM_PM

public static final int AM_PM
get および set メソッドにおいて午前午後フィールドを示します。

関連項目:
AM, PM, HOUR, 定数フィールド値

HOUR

public static final int HOUR
get および set メソッドにおいて12時間制での時フィールドを示します。

関連項目:
AM_PM, AM, PM, 定数フィールド値

HOUR_OF_DAY

public static final int HOUR_OF_DAY
get および set メソッドにおいて24時間制での時フィールドを示します。

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

MINUTE

public static final int MINUTE
get および set メソッドにおいて分フィールドを示します。

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

SECOND

public static final int SECOND
get および set メソッドにおいて秒フィールドを示します。

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

MILLISECOND

public static final int MILLISECOND
get および set メソッドにおいてミリ秒フィールドを示します。

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

SUNDAY

public static final int SUNDAY
get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する日曜を示します。

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

MONDAY

public static final int MONDAY
get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する月曜を示します。

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

TUESDAY

public static final int TUESDAY
get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する火曜を示します。

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

WEDNESDAY

public static final int WEDNESDAY
get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する水曜を示します。

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

THURSDAY

public static final int THURSDAY
get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する木曜を示します。

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

FRIDAY

public static final int FRIDAY
get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する金曜を示します。

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

SATURDAY

public static final int SATURDAY
get および set メソッドにおいて DAY_OF_WEEK フィールドに対応する土曜を示します。

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

JANUARY

public static final int JANUARY
get および set メソッドにおいて MONTH フィールドに対応する1番目の月を示します。

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

FEBRUARY

public static final int FEBRUARY
get および set メソッドにおいて MONTH フィールドに対応する2番目の月を示します。

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

MARCH

public static final int MARCH
get および set メソッドにおいて MONTH フィールドに対応する3番目の月を示します。

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

APRIL

public static final int APRIL
get および set メソッドにおいて MONTH フィールドに対応する4番目の月を示します。

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

MAY

public static final int MAY
get および set メソッドにおいて MONTH フィールドに対応する5番目の月を示します。

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

JUNE

public static final int JUNE
get および set メソッドにおいて MONTH フィールドに対応する6番目の月を示します。

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

JULY

public static final int JULY
get および set メソッドにおいて MONTH フィールドに対応する7番目の月を示します。

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

AUGUST

public static final int AUGUST
get および set メソッドにおいて MONTH フィールドに対応する8番目の月を示します。

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

SEPTEMBER

public static final int SEPTEMBER
get および set メソッドにおいて MONTH フィールドに対応する9番目の月を示します。

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

OCTOBER

public static final int OCTOBER
get および set メソッドにおいて MONTH フィールドに対応する10番目の月を示します。

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

NOVEMBER

public static final int NOVEMBER
get および set メソッドにおいて MONTH フィールドに対応する11番目の月を示します。

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

DECEMBER

public static final int DECEMBER
get および set メソッドにおいて MONTH フィールドに対応する12番目の月を示します。

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

AM

public static final int AM
get および set メソッドにおいて AM_PM フィールドに対応する午前を示します。

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

PM

public static final int PM
get および set メソッドにおいて AM_PM フィールドに対応する午後を示します。

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

fields

protected int[] fields
このカレンダーのために現在設定されている時間のフィールド値を保持します。

導入されたバージョン:
CLDC 1.1

isSet

protected boolean[] isSet
カレンダーのために設定された時間フィールド値が設定されたか否かを保持します。 これは FIELD_COUNT ブール値の配列です。

導入されたバージョン:
CLDC 1.1

time

protected long time
このカレンダーのために現在設定されている時間を保持します。 この値はグリニッジ標準時 1970 年 1 月 1 日 0 時 0 分 0 秒からの経過ミリ秒数で表現されています。

導入されたバージョン:
CLDC 1.1
コンストラクタの詳細

Calendar

protected Calendar()
デフォルトのタイム・ゾーンおよびロケールによるオブジェクトを構築します。

関連項目:
TimeZone.getDefault()
メソッドの詳細

getTime

public final Date getTime()
保持している日時を返します。

戻り値:
Date 保持している Date オブジェクトのコピーを返します。

setTime

public final void setTime(Date dt)
新たな日時を設定します。 なお、dtDate(Long.MAX_VALUE) あるいは Date(Long.MIN_VALUE) の設定値が渡された場合は get(int) メソッドによって不正な値を返すことがあります。

パラメータ:
dt - 設定する日時を持った Date オブジェクトを渡します。

getInstance

public static Calendar getInstance()
デフォルトのタイム・ゾーンおよびロケールの実装オブジェクトを生成します。 実際に返す実装オブジェクトは実装によって異なります。

戻り値:
Calendar クラスの実装オブジェクトを返します。

getInstance

public static Calendar getInstance(TimeZone zone)
渡されたタイム・ゾーンおよびデフォルトのロケールによる実装オブジェクトを生成します。 実際に返す実装オブジェクトは実装によって異なります。

パラメータ:
zone - 設定するタイム・ゾーンを渡します。
戻り値:
渡されたタイム・ゾーンが設定された Calendar クラスの実装オブジェクトを返します。

getTimeInMillis

protected long getTimeInMillis()
設定されている時刻が西暦 1970 年 1 月 1 日 (GMT) から何ミリ秒経過をしているかを返します。

戻り値:
西暦 1970 年 1 月 1 日 (GMT) から何ミリ秒経過しているか返されます。

setTimeInMillis

protected void setTimeInMillis(long ms)
時刻を渡された西暦 1970 年 1 月 1 日 (GMT) からのミリ秒数に対応する時刻に変更します。

パラメータ:
ms - 設定する西暦 1970 年 1 月 1 日 (GMT) からのミリ秒数を渡します。

get

public final int get(int field)
フィールドに対応する時刻の情報を返します。

パラメータ:
field - 取得する対象のフィールドを渡します。
戻り値:
フィールドに対応する時刻の情報を返します。

set

public final void set(int field,
                      int value)
フィールドに対応する時刻の情報を設定します。 ただし DAY_OF_WEEK フィールドを指定することはできません。

パラメータ:
field - 設定する対象のフィールドを渡します。
value - 設定する対象のフィールドに設定する時刻情報を渡します。

equals

public boolean equals(Object obj)
渡されたオブジェクトがこのオブジェクトと等しいか否かを返します。 objnull ではなく、Calendar オブジェクトであり、保持している時刻が同一の場合に true を返します。 その他の場合は false を返します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象のオブジェクトを渡します。
戻り値:
等しい場合は true、等しくない場合は false を返します。

before

public boolean before(Object target)
比較対象の Calendar オブジェクトがこのオブジェクトの時刻よりも以前であるか判定します。

パラメータ:
target - 比較対象の Calendar オブジェクトを渡します。
戻り値:
以前である場合には true を、そうでない場合には false を返します。

after

public boolean after(Object target)
比較対象の Calendar オブジェクトがこのオブジェクトの時刻よりも以後であるか判定します。

パラメータ:
target - 比較対象の Calendar オブジェクトを渡します。
戻り値:
以後である場合には true を、そうでない場合には false を返します。

setTimeZone

public void setTimeZone(TimeZone zone)
新しいタイム・ゾーンを設定します。 渡されたタイム・ゾーンを新たなタイム・ゾーンとして使用します。

パラメータ:
zone - 設定するタイム・ゾーンを渡します。

getTimeZone

public TimeZone getTimeZone()
現在設定されているタイム・ゾーンの参照を返します。

戻り値:
現在設定されているタイム・ゾーンの参照を返します。

computeFields

protected abstract void computeFields()
現在のミリ秒単位の時間フィールド値 time をフィールド値 fields[] へ変換します。 これによりカレンダーに設定されている新しい時間と時間フィールド値を同期することができます。

導入されたバージョン:
CLDC 1.1

computeTime

protected abstract void computeTime()
現在のフィールド値 fields[] をミリ秒単位の時間フィールド値 time へ変換します。

導入されたバージョン:
CLDC 1.1

Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

公式仕様書原文の著作権表記等(※):

Mobile Information Device Profile Specification ("Specification")
Version: 2.0
Status: FCS
Release: November 5, 2002

Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc.
All rights reserved.
※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。