jp.gr.java_conf.dangan.util

Class WindowsDate

Implemented Interfaces:
Cloneable

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]
     タブの廃止
     ライセンス文の修正

 
Version:
$Revision: 1.1 $
Author:
$Author: dangan $

Field Summary

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

Constructor Summary

WindowsDate()
デフォルトコンストラクタ。 現在の時間情報を持つ WindowsDateを構築する。 ナノ秒単位の時間は取得できないため、0に設定される。
WindowsDate(Date date)
dateで示される時間を表す WindowsDateを構築する。
dateが WindowsDate のインスタンスならば ナノ秒単位の情報もコピーされるが、それ以外の場合は ナノ秒単位の情報には 0 が設定される。
WindowsDate(long time)
符号無し64ビットのFILETIME形式の時間情報から 新しいWindowsDateを構築する。

Method Summary

Object
clone()
このオブジェクトのコピーを返す。
long
getWindowsTime()
この WindowsDateが示す時間情報を FILETIME 形式で得る。
void
setDate(int date)
Deprecated.
void
setHours(int hours)
Deprecated.
void
setMinutes(int minutes)
Deprecated.
void
setMonth(int month)
Deprecated.
void
setSeconds(int seconds)
Deprecated.
void
setTime(long time)
この WindowsDate の示す時間を 1970年1月1日 00:00:00 GMTから time ミリ秒経過した時刻に設定する。
このメソッドは範囲チェックを行うだけのために存在する。
void
setWindowsTime(long time)
この WindowsDate に FILETIME形式の時間情報を設定する。
void
setYear(int year)
Deprecated.

Field Details

TIME_DIFFERENCE

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

Constructor Details

WindowsDate

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

WindowsDate

public WindowsDate(Date date)
dateで示される時間を表す WindowsDateを構築する。
dateが WindowsDate のインスタンスならば ナノ秒単位の情報もコピーされるが、それ以外の場合は ナノ秒単位の情報には 0 が設定される。
Parameters:
date - 新しく構築される WindowsDate の元となる時間情報を持つ Date のオブジェクト

WindowsDate

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

Method Details

clone

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

getWindowsTime

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

setDate

public void setDate(int date)

Deprecated.

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

setHours

public void setHours(int hours)

Deprecated.

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

setMinutes

public void setMinutes(int minutes)

Deprecated.

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

setMonth

public void setMonth(int month)

Deprecated.

この WindowsDate の示す月を month で指定された値に設定する。
このメソッドは範囲チェックを行うだけのために存在する。
Parameters:
month - 0が1月、1が2月を示すような月の値

setSeconds

public void setSeconds(int seconds)

Deprecated.

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

setTime

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

setWindowsTime

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

setYear

public void setYear(int year)

Deprecated.

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

When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.