コンテンツにスキップ

Dateクラス

特定の日時を表現するクラスです。

Dateクラスは、内部にUNIXエポック (1970年1月1日午前0時0分0秒) からの経過時間を保持しています。

Dateクラスは可変であり、インスタンス生成後に SetYear() や AddHour() などのメソッドを呼びだすことで、Dateの内部データを更新することが可能です。 変更前のDateの状態を保持したい場合は、Clone() メソッドによるコピー生成を検討してください。

Dateクラスに、既定の範囲を超えた値を設定した場合、自動でオーバーラップが行われます。例えば、「1990年5月33日」を表現するDateクラスを生成すると、実際には「1990年6月2日」となるよう正規化が行われます。

DateとTimeSpan

Dateは特定の日時を表すクラスですが、時間間隔を表すには TimeSpan を利用します。

Dateのユーティリティー関数

hsCreateDate

Date hsCreateDate(int year, int month = 1, int day = 1, int hour = 0, int minite = 0, int second = 0, int millisecond = 0)

現在のローカルタイムゾーンで、指定した日時のDateインスタンスを生成する。

hsCreateDateUTC

Date hsCreateDateUTC(int year, int month = 1, int day = 1, int hour = 0, int minite = 0, int second = 0, int millisecond = 0)

UTCにおける、指定した日時のDateインスタンスを生成する。

hsParseDate

Date hsParseDate(string dateStr)

ISO 8601形式の文字列を解析し、Dateインスタンスを生成します。

文字列の解析に失敗した場合、nullを返します。


定数値

週の曜日を表現する定数値です。

const int DAYS_SUNDAY = 0;
const int DAYS_MONDAY = 1;
const int DAYS_TUESDAY = 2;
const int DAYS_WEDNESDAY = 3;
const int DAYS_THURSDAY = 4;
const int DAYS_FRIDAY = 5;
const int DAYS_SATURDAY = 6;

コンストラクタ

Date

public Date()

ローカルタイムゾーンにおける、現在時刻を表現するクラスを生成します。

メソッド

ToString

string ToString()

このインスタンスが持つ日時情報を、ローカルタイムゾーンにおける ISO 8601形式の文字列に変換して返します。

ToUTCString

string ToUTCString()

このインスタンスが持つ日時情報を、UTCにおける ISO 8601形式の文字列に変換して返します。

Clone

Date Clone()

このインスタンスの持つ日時情報がコピーされた、新たなDateインスタンスを生成して返します。

Equals

bool Equals(Date other)

このインスタンスと、引数otherが表す日時が同じである場合に true を返します。

GetEpochSeconds

int GetEpochSeconds()

UNIXエポックからの経過秒数を返します。

メソッド (ローカルタイムゾーンに基づく日時取得)

GetYear

int GetYear()

ローカルタイムゾーンに基づく「年」を返します。

GetMonth

int GetMonth()

ローカルタイムゾーンに基づく、1を起点とした「月」を返します。(範囲: 1から12)

GetDayOfYear

int GetDayOfYear()

ローカルタイムゾーンに基づく、1を起点とした年間積算日を返します。(範囲: 1から366)

GetDayOfWeek

int GetDayOfWeek()

ローカルタイムゾーンに基づく、0を起点とした「曜日」を返します。(範囲: 0から6)

GetDay

int GetDay()

ローカルタイムゾーンに基づく、1を起点とした月の日付を返します。(範囲: 1から31)

GetHours

int GetHours()

ローカルタイムゾーンに基づく、0を起点とした「時間」を返します。(範囲: 0から23)

GetMinutes

int GetMinutes()

ローカルタイムゾーンに基づく、0を起点とした「分」を返します。(範囲: 0から59)

GetSeconds

int GetSeconds()

ローカルタイムゾーンに基づく、0を起点とした「秒」を返します。(範囲: 0から59)

GetMilliseconds

int GetMilliseconds()

ローカルタイムゾーンに基づく、0を起点とした「ミリ秒」を返します。(範囲: 0から999)

メソッド (UTCに基づく日時取得)

GetUTCYear

int GetUTCYear()

UTCに基づく「年」を返します。

GetUTCMonth

int GetUTCMonth()

UTCに基づく、1を起点とした「月」を返します。(範囲: 1から12)

GetUTCDayOfYear

int GetUTCDayOfYear()

UTCに基づく、1を起点とした年間積算日を返します。(範囲: 1から366)

GetUTCDayOfWeek

int GetUTCDayOfWeek()

UTCに基づく、0を起点とした「曜日」を返します。(範囲: 0から6)

GetUTCDay

int GetUTCDay()

UTCに基づく、1を起点とした月の日付を返します。(範囲: 1から31)

GetUTCHours

int GetUTCHours()

UTCに基づく、0を起点とした「時間」を返します。(範囲: 0から23)

GetUTCMinutes

int GetUTCMinutes()

UTCに基づく、0を起点とした「分」を返します。(範囲: 0から59)

GetUTCSeconds

int GetUTCSeconds()

UTCに基づく、0を起点とした「秒」を返します。(範囲: 0から59)

GetUTCMilliseconds

int GetUTCMilliseconds()

UTCに基づく、0を起点とした「ミリ秒」を返します。(範囲: 0から999)

メソッド (日時の設定)

SetYear

void SetYear(int value)

このインスタンスの「年」を、引数valueの値に更新します。

SetMonth

void SetMonth(int value)

このインスタンスの「月」を、引数valueの値に更新します。

SetDay

void SetDay(int value)

このインスタンスの「日」を、引数valueの値に更新します。

SetHours

void SetHours(int value)

このインスタンスの「時間」を、引数valueの値に更新します。

SetMinutes

void SetMinutes(int value)

このインスタンスの「分」を、引数valueの値に更新します。

SetSeconds

void SetSeconds(int value)

このインスタンスの「秒」を、引数valueの値に更新します。

SetMilliseconds

void SetMilliseconds(int value)

このインスタンスの「ミリ秒」を、引数valueの値に更新します。

メソッド (日時の加算・減算)

Dateインスタンスに対して、日時の加算を行うメソッドです。
引数が負数の場合、減算が行われます。

AddYear

void AddYear(int value)

このインスタンスの「年」に、引数valueの値を加算します。

AddMonth

void AddMonth(int value)

このインスタンスの「月」に、引数valueの値を加算します。

AddDay

void AddDay(int value)

このインスタンスの「日」に、引数valueの値を加算します。

AddHours

void AddHours(int value)

このインスタンスの「時間」に、引数valueの値を加算します。

AddMinutes

void AddMinutes(int value)

このインスタンスの「分」に、引数valueの値を加算します。

AddSeconds

void AddSeconds(int value)

このインスタンスの「秒」に、引数valueの値を加算します。

AddMilliseconds

void AddMilliseconds(int value)

このインスタンスの「ミリ秒」に、引数valueの値を加算します。

メソッド (演算)

Until

TimeSpan Until(Date date)

このインスタンスの日時から、引数dateの日時までの時間間隔を、TimeSpanとして取得します。 この処理を四則演算で例えると date - this となります。

Since

TimeSpan Since(Date date)

引数dateの日時から、このインスタンスの日時までの時間間隔を、TimeSpanとして取得します。 この処理を四則演算で例えると this - date となります。

Add

Date Add(TimeSpan span)

このインスタンスの日時に、引数spanの時間間隔を加算し、その結果を新しいDateインスタンスとして返します。

Sub

Date Sub(TimeSpan span)

このインスタンスの日時から、引数spanの時間間隔を減算し、その結果を新しいDateインスタンスとして返します。

メソッド (比較)

Equals

bool Equals(Date other)

このインスタンスと、引数otherが表す日時が同じである場合に true を返します。

IsAfter

bool IsAfter(Date date)

このインスタンスと、引数のDateを比較し、自身が引数Dateより未来であれば true を返します。

IsBefore

bool IsBefore(Date date)

このインスタンスと、引数のDateを比較し、自身が引数Dateより過去であれば true を返します。

Compare

int Compare(Date date)

このインスタンスと、引数のDateを比較し、同じなら0を、自分が未来なら1を、自分が過去なら-1を返します。