LHA Library for Java

jp.gr.java_conf.dangan.util
クラス WindowsDate

java.lang.Object
  拡張java.util.Date
      拡張jp.gr.java_conf.dangan.util.WindowsDate
すべての実装インタフェース:
Cloneable, Comparable, Serializable

public class WindowsDate
extends Date
implements Cloneable

WindowsのFILETIME形式の情報を扱うDateの派生クラス。
FILETIME は 1601年 1月 1日 0時0分0秒からの経過時間を 100ナノ秒単位で持つ64ビット値。
このクラスでは FILETIME を long(64ビット値)として扱うときは 基本的に符号無しとみなす。
1601年 1月 1日 0時0分0秒以前の時間を扱いたい場合は WindowsDate( Date date ) か、WindowsDate.setTime( long time )を使用する。

 -- revision history --
 $Log: WindowsDate.java,v $
 Revision 1.1  2002/12/05 00:00:00  dangan
 [maintenance]
     javadoc コメントのスペルミスを修正。
     ソース整備

 Revision 1.0  2002/08/05 00:00:00  dangan
 add to version control
 [bug fix] 
     set系メソッドで 範囲外の時間をセットしようとして
     例外を投げるケースで時間の書き戻しが正しく行われていなかった。
     checkRange の時間の範囲が間違っていた。
 [maintenance]
     タブの廃止
     ライセンス文の修正

 

バージョン:
$Revision: 1.1 $
作成者:
$Author: dangan $
関連項目:
直列化された形式

フィールドの概要
static long TIME_DIFFERENCE
          FILETIME形式のデータと、java.util.Date.getTime() で 得られる時間形式との時間差を 100ナノセカンド単位で示した数値。
 
コンストラクタの概要
WindowsDate()
          デフォルトコンストラクタ。
WindowsDate(Date date)
          dateで示される時間を表す WindowsDateを構築する。
WindowsDate(long time)
          符号無し64ビットのFILETIME形式の時間情報から 新しいWindowsDateを構築する。
 
メソッドの概要
 Object clone()
          このオブジェクトのコピーを返す。
 long getWindowsTime()
          この WindowsDateが示す時間情報を FILETIME 形式で得る。
 void setDate(int date)
          推奨されていません。  
 void setHours(int hours)
          推奨されていません。  
 void setMinutes(int minutes)
          推奨されていません。  
 void setMonth(int month)
          推奨されていません。  
 void setSeconds(int seconds)
          推奨されていません。  
 void setTime(long time)
          この WindowsDate の示す時間を 1970年1月1日 00:00:00 GMTから time ミリ秒経過した時刻に設定する。
 void setWindowsTime(long time)
          この WindowsDate に FILETIME形式の時間情報を設定する。
 void setYear(int year)
          推奨されていません。  
 
クラス java.util.Date から継承したメソッド
after, before, compareTo, compareTo, equals, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear, hashCode, parse, toGMTString, toLocaleString, toString, UTC
 
クラス java.lang.Object から継承したメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

TIME_DIFFERENCE

public static final long TIME_DIFFERENCE
FILETIME形式のデータと、java.util.Date.getTime() で 得られる時間形式との時間差を 100ナノセカンド単位で示した数値。 なお、閏秒等は考慮に入れていない。

関連項目:
定数フィールド値
コンストラクタの詳細

WindowsDate

public WindowsDate()
デフォルトコンストラクタ。 現在の時間情報を持つ WindowsDateを構築する。 ナノ秒単位の時間は取得できないため、0に設定される。

例外:
IllegalArgumentException - 現在の時間が FILETIME 形式で表現できる 範囲外だった場合。

WindowsDate

public WindowsDate(Date date)
dateで示される時間を表す WindowsDateを構築する。
dateが WindowsDate のインスタンスならば ナノ秒単位の情報もコピーされるが、それ以外の場合は ナノ秒単位の情報には 0 が設定される。

パラメータ:
date - 新しく構築される WindowsDate の元となる時間情報を持つ Date のオブジェクト
例外:
IllegalArgumentException - 現在の時間が FILETIME 形式で表現できる 範囲外だった場合。

WindowsDate

public WindowsDate(long time)
符号無し64ビットのFILETIME形式の時間情報から 新しいWindowsDateを構築する。

パラメータ:
time - FILETIME形式の時間情報
メソッドの詳細

clone

public Object clone()
このオブジェクトのコピーを返す。

戻り値:
このWindowsDateオブジェクトの複製

setYear

public void setYear(int year)
推奨されていません。  

この WindowsDate の示す年を year で 指定された値に1900を足したものに設定する。
このメソッドは範囲チェックを行うだけのために存在する。

パラメータ:
year - 1900を足すことで西暦を表すような 年の値
例外:
IllegalArgumentException - year に変更したところ FILETIME形式で扱えない 範囲の時間になった場合

setMonth

public void setMonth(int month)
推奨されていません。  

この WindowsDate の示す月を month で指定された値に設定する。
このメソッドは範囲チェックを行うだけのために存在する。

パラメータ:
month - 0が1月、1が2月を示すような月の値
例外:
IllegalArgumentException - month に変更したところ FILETIME形式で扱えない 範囲の時間になった場合

setDate

public void setDate(int date)
推奨されていません。  

この WindowsDate の示す 一ヶ月の 中での何日目かを date で指定された値に設定する。
このメソッドは範囲チェックを行うだけのために存在する。

パラメータ:
date - 1が1日、2が2日を示すような日の値
例外:
IllegalArgumentException - date に変更したところ FILETIME形式で扱えない 範囲の時間になった場合

setHours

public void setHours(int hours)
推奨されていません。  

この WindowsDate の示す一日の中での時間を hours で指定された値に設定する。
このメソッドは範囲チェックを行うだけのために存在する。

パラメータ:
hours - 時間の値
例外:
IllegalArgumentException - hours に変更したところ FILETIME形式で扱えない 範囲の時間になった場合

setMinutes

public void setMinutes(int minutes)
推奨されていません。  

この WindowsDate の示す一時間の中での分を minutes で指定された値に設定する。
このメソッドは範囲チェックを行うだけのために存在する。

パラメータ:
minutes - 分の値
例外:
IllegalArgumentException - minutes に変更したところ FILETIME形式で扱えない 範囲の時間になった場合

setSeconds

public void setSeconds(int seconds)
推奨されていません。  

この WindowsDate の示す一分の中での秒数を secounds で指定された値に設定する。
このメソッドは範囲チェックを行うだけのために存在する。

例外:
IllegalArgumentException - secounds に変更したところ FILETIME形式で扱えない 範囲の時間になった場合

setTime

public void setTime(long time)
この WindowsDate の示す時間を 1970年1月1日 00:00:00 GMTから time ミリ秒経過した時刻に設定する。
このメソッドは範囲チェックを行うだけのために存在する。

パラメータ:
time - 1970年1月1日 00:00:00GMT からの経過ミリ秒
例外:
IllegalArgumentException - time がFILETIME形式で扱えない 範囲の時間を示していた場合

setWindowsTime

public void setWindowsTime(long time)
この WindowsDate に FILETIME形式の時間情報を設定する。

パラメータ:
time - FILETIME形式の時間情報

getWindowsTime

public long getWindowsTime()
この WindowsDateが示す時間情報を FILETIME 形式で得る。

戻り値:
FILETIME形式の値

LHA Library for Java

バグやドキュメントの誤りの報告は作者宛てにお願いします。
ドキュメント内に含まれる社名、製品名については一般に各社の商標または登録商標です。
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.