jp.gr.java_conf.dangan.util

Class MsdosDate

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

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

Constructor Summary

MsdosDate(Date date)
date で示される時間を表す MsdosDate を構築する。
MS-DOS 形式の時間情報で表せない細かい精度の情報は 無視され、最小時間単位は java.util.Date の 1ミリ秒でなく MS-DOS 形式の時間情報 の最小単位である 2秒となる。
MsdosDate(int time)
MS-DOS 形式の時間情報から 新しい MsdosDate を構築 する。

Method Summary

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)
Deprecated.

Constructor Details

MsdosDate

public MsdosDate(Date date)
date で示される時間を表す MsdosDate を構築する。
MS-DOS 形式の時間情報で表せない細かい精度の情報は 無視され、最小時間単位は java.util.Date の 1ミリ秒でなく MS-DOS 形式の時間情報 の最小単位である 2秒となる。
Parameters:
date - 新しく構築される MsdosDate の基になる時間情報 を持つ Dateオブジェクト

MsdosDate

public MsdosDate(int time)
MS-DOS 形式の時間情報から 新しい MsdosDate を構築 する。
Parameters:
time - MS-DOS 形式の時間情報

Method Details

clone

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

getMsdosTime

public int getMsdosTime()
この MsdosDateが示す時間情報を MS-DOS 時間形式で得る。
Returns:
MS-DOS時間形式の値

setMsdosTime

public void setMsdosTime(int time)
この MsdosDate に MS-DOS 時間形式の時間情報を設定する。
Parameters:
time - 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秒となる。
Parameters:
time - 1970年1月1日 00:00:00GMT からの経過ミリ秒

setYear

public void setYear(int year)

Deprecated.

この MsdosDate の示す年を 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.