D 1.0   D 2.0
About Japanese Translation

Last update Thu Sep 16 11:25:57 2010

std.date

日付を表現する形式は幾つかあります。この date モジュールでは、 その変換の中心となる型 d_time を定め、 他のフォーマットへ/から の変換を実装します。 日付はグレゴリオ歴で計算されます。

Source:
std/date.d References:
Gregorian calendar (Wikipedia) License:
Boost License 1.0

Authors:
Walter Bright

alias d_time;
d_time は1970年1月1日からの 経過時間を表す符号付き数です。 負の値は1970年より前を表します。時間の単位は Ticks です。 Ticks はミリ秒か、それより小さい時間間隔です。

普通の算術演算(加算、減算など)は d_time に対して行うことができます。 例えば経過時間を Ticks 単位で得るには、終了時の d_time から開始時の d_time を引けばよいです。

d_time d_time_nan;
d_timeが有効な時点を表現していないことを示す値です

struct Date;
時刻を構成要素ごとに分解して表現した構造体です

int year;
year の "nan" 値としては int.min を使います

int month;
1..12

int day;
1..31

int hour;
0..23

int minute;
0..59

int second;
0..59

int ms;
0..999

int weekday;
0: 指定なし, 1..7: 日曜..土曜

int tzcorrection;
-1200..1200 のタイムゾーン指定

void parse(string s);
文字列 s[] をパースして Date インスタンスに格納します

ticksPerSecond
この実装で1秒が何Ticksであるかを示す定数。少なくとも1000。

void toISO8601YearWeek(d_time t, out int year, out int week);
t から年と週 [1..53] を計算します。ISO 8601 では、年の最初の週とは、 1月4日を含む週のことです。週の始まりは月曜日とします。

References:
ISO 8601 (Wikipedia)

int hourFromTime(d_time time);
time の hour(時) を計算します。

Parameters:
d_time time hour を計算したい time

Returns:
0 から 23 の値

int minFromTime(d_time time);
time の minute(分) を計算します。

Parameters:
d_time time minute を計算したい time

Returns:
0 から 59 の値

int secFromTime(d_time time);
time の second(秒) を計算します。

Parameters:
d_time time second を計算したい time

Returns:
0 から 59 の値

int msFromTime(d_time time);
time の milisecond(ミリ秒) を計算します。

Parameters:
d_time time millisecond を計算したい time

Returns:
0 から 999 の値

uint daysInYear(uint year);
指定の年 year の日数を返します。

閏年なら366、その他の年は365を返します。

Parameters:
uint year 日数を計算したい年

Returns:
365 か 366

int dayFromYear(int year);
1970年1月1日から、 指定の年の1月1日までの日数を計算して返します。

Parameters:
int year 経過日数を計算したい年

Returns:
日数

Example:
 writeln(dayFromYear(1970)); // '0' を表示
 writeln(dayFromYear(1971)); // '365' を表示
 writeln(dayFromYear(1972)); // '730' を表示

int yearFromTime(d_time t);
d_time t から年を計算します。

bool inLeapYear(d_time t);
d_time t がうるう年かどうかを判定します。

うるう年は、4で割り切れる年のうち、400で割り切れない00で終わる年を 除いたものです。

Returns:
うるう年なら非0

References:
Wikipedia

int monthFromTime(d_time t);
d_time t から月を計算します。

Returns:
0 から 11 の整数を返します。 0 が一月、11が十二月を表します。

int dateFromTime(d_time t);
d_time t から日を計算します。

Returns:
1 から 31 の整数を返します。

int weekDay(d_time t);
d_time t から曜日を計算します。

Returns:
0 から 6 の整数を返します。0 が日曜日で、 6 が土曜日を表します。

d_time UTCtoLocalTime(d_time t);
UTCからローカルタイムへ変換します。

d_time localTimetoUTC(d_time t);
ローカルタイムからUTCへ変換します。

int dateFromNthWeekdayOfMonth(int year, int month, int weekday, int n);
月の第n weekday曜日という指定から、日 1..31 の値を計算します。

Params:
int year
int month 月, 1..12
int weekday 曜日。0..6 が Sunday..Saturday に対応
int n 1..5 によって、第n weekday曜日を指定します。 また、5 は "月の最後のweekday曜日" も意味します。

Returns:
指定月の第n weekday曜日が 1..31 のいずれの日であるかを返します。

int daysInMonth(int year, int month);
月の日数を返します。

Params:
int month 1..12

string UTCtoString(d_time time);
UTC の time を "Www Mmm dd hh:mm:ss GMT+-TZ yyyy" 形式の文字列へ変換します。 例えば "Tue Apr 02 02:04:57 GMT-0800 1996" など。 なお、time が不正値つまり d_date.nan の時は、 "Invalid date" という文字列が返ります。

Example:
  d_time lNow;
  char[] lNowString;

  // UTCで現在の日時を取得
  lNow = std.date.getUTCtime();
  // 現地時間に変換して表示
  lNowString = std.date.UTCtoString(lNow);


deprecated alias toString;
UTCtoString の別名 (非推奨)

string toUTCString(d_time t);
t を "Www, dd Mmm yyyy hh:mm:ss UTC" 形式の文字列へ変換します。 t が不正値の時は、"Invalid date" が返ります。

string toDateString(d_time time);
time の日付部分をを "Www Mmm dd yyyy" 形式の文字列へ変換します。 例えば "Tue Apr 02 1996" など。 なお、time が不正値の時は、"Invalid date" が返ります。

string toTimeString(d_time time);
time の時刻部分を "hh:mm:ss GMT+-TZ" 形式の文字列へ変換します。 例えば "02:04:57 GMT-0800" など。 time が不正値の時は、"Invalid date" が返ります。 入力はUTCで指定します。出力はローカル時間になります。

d_time parse(string s);
日時を表した文字列 s を解析し、d_time を返します。 もし文字列が有効な日時を表していなければ、d_time.nan が返ります。

d_time getUTCtime();
現在の時刻をUTCで取得します。

typedef DosFileTime;
DOSファイルの date/time 形式をあらわす型

d_time toDtime(DosFileTime time);
DOS形式のファイル日時からd_timeへ変換します。

DosFileTime toDosFileTime(d_time t);
d_timeからDOS形式のファイル日時へ変換します。

ulong[] benchmark(fun...)(uint times, uint[] result = null);
スピードの評価の比較のためのコードのベンチマークを行います

Parameters:
fun 呼び出し可能オブジェクトへのエイリアス(関数名など)の列。 引数無しで呼び出し可能なオブジェクトを指定します。
times それぞれの関数を実行する回数
result 返値を格納するオプショナルな領域。null が指定された場合は適切に新しい領域が確保されます。

Returns:
n 個の uinti 番目のスロットには i番目の関数を times 回実行するのにかかった時間がミリ秒単位で格納されます。

Example:
int a;
void f0() { }
void f1() { auto b = a; }
void f2() { auto b = to!(string)(a); }
auto r = benchmark!(f0, f1, f2)(10_000_000);