jp.gr.java_conf.dangan.util
Class MsdosDate
Date
jp.gr.java_conf.dangan.util.MsdosDate
- Cloneable
public class MsdosDate
extends Date
implements Cloneable
MS-DOS形式の時間情報を扱うDateの派生クラス。
データは 4byte値であり、MS-DOSが 主にIntel の x86系CPU上で
動作したことから LittleEndianで格納される。
フォーマットは以下のとおり。
+---------------+---------------++---------------+---------------+
| 日付-上位byte | 日付-下位byte || 時刻-上位byte | 時刻-下位byte |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0||7|6|5|4|3|2|1|0|7|6|5|4|3|2|1|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 年-7bit |月-4bit| 日-5bit ||時間-5bit| 分-6bit | 秒-5bit |
+-------------+-------+---------++---------+-----------+---------+
・年は 1980〜2107年 を 0〜127 で表す。WindowsのシステムAPIの
一部は 2099年までしかサポートしないという情報がある。
・月は 1〜12月 を 1〜12で表す。0〜11でないことに注意。
・日は 1〜31日 を 1〜31で表す。0〜30でないことに注意。
・時間は 0〜23時 を 0〜23で表す。
・分は 0〜59分 を 0〜59で表す。
・秒は 0〜58秒 を 0〜29で表す。秒の情報はビット数が足りない
ため 最小単位は 1秒でなく 2秒である。
-- revision history --
$Log: MsdosDate.java,v $
Revision 1.1 2002/12/05 00:00:00 dangan
[maintenance]
javadoc コメントのスペルミスを修正。
ソース整備
Revision 1.0 2002/07/24 00:00:00 dangan
add to version control
[bug fix]
setTime() で ftimeの限界精度である2秒以上の精度で記録していた。
[maintenance]
タブの廃止
ライセンス文の修正
MsdosDate(Date date) - date で示される時間を表す MsdosDate を構築する。
MS-DOS 形式の時間情報で表せない細かい精度の情報は
無視され、最小時間単位は java.util.Date の 1ミリ秒でなく
MS-DOS 形式の時間情報 の最小単位である 2秒となる。
|
MsdosDate(int time) - MS-DOS 形式の時間情報から 新しい MsdosDate を構築
する。
|
Object | clone() - このオブジェクトのコピーを返す。
|
int | getMsdosTime() - この MsdosDateが示す時間情報を MS-DOS 時間形式で得る。
|
void | setMsdosTime(int time) - この MsdosDate に MS-DOS 時間形式の時間情報を設定する。
|
void | setTime(long time) - この MsdosDate の示す時間を 1970年1月1日 00:00:00 GMTから
time ミリ秒経過した時刻に設定する。
MS-DOS 形式の時間情報で表せない細かい精度の情報は
無視され、最小時間単位は java.util.Date の 1ミリ秒でなく
MS-DOS 形式の時間情報 の最小単位である 2秒となる。
|
void | setYear(int year)
|
MsdosDate
public MsdosDate(Date date)
date で示される時間を表す MsdosDate を構築する。
MS-DOS 形式の時間情報で表せない細かい精度の情報は
無視され、最小時間単位は java.util.Date の 1ミリ秒でなく
MS-DOS 形式の時間情報 の最小単位である 2秒となる。
date
- 新しく構築される MsdosDate の基になる時間情報
を持つ Dateオブジェクト
MsdosDate
public MsdosDate(int time)
MS-DOS 形式の時間情報から 新しい MsdosDate を構築
する。
clone
public Object clone()
このオブジェクトのコピーを返す。
getMsdosTime
public int getMsdosTime()
この MsdosDateが示す時間情報を MS-DOS 時間形式で得る。
setMsdosTime
public void setMsdosTime(int time)
この MsdosDate に MS-DOS 時間形式の時間情報を設定する。
setTime
public void setTime(long time)
この MsdosDate の示す時間を 1970年1月1日 00:00:00 GMTから
time ミリ秒経過した時刻に設定する。
MS-DOS 形式の時間情報で表せない細かい精度の情報は
無視され、最小時間単位は java.util.Date の 1ミリ秒でなく
MS-DOS 形式の時間情報 の最小単位である 2秒となる。
time
- 1970年1月1日 00:00:00GMT からの経過ミリ秒
setYear
public void setYear(int year)
この MsdosDate の示す年を year で指定された値に1900を足し
たものに設定する。
このメソッドは範囲チェックを行うだけのために存在する。
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.