nlib
|
日時を表すクラスです。 [詳解]
#include "nn/nlib/DateTime.h"
公開型 | |
enum | Week { kWeekSunday = 0, kWeekMonday, kWeekTuesday, kWeekWednesday, kWeekThursday, kWeekFriday, kWeekSaturday } |
曜日を表す定数です。 [詳解] | |
公開メンバ関数 | |
errno_t | Init (int year, int month, int day, int hour=0, int min=0, int sec=0, int msec=0, int usec=0) noexcept |
日時を初期化します。 [詳解] | |
errno_t | Init (const DateTimeParams &rhs) noexcept |
DateTimeParams 構造体を用いて日時を初期化します。無効な日時が与えられた場合はEINVAL を返します。 | |
errno_t | Init (const TimeValue &tv) noexcept |
TimeValue 構造体を用いて日時を初期化します。無効な日時が与えられた場合はEINVAL を返します。 | |
errno_t | GetDay (int *year, int *month, int *day) const noexcept |
年月日を取得します。 [詳解] | |
errno_t | GetTime (int *hour, int *min, int *sec, int *msec, int *usec) const noexcept |
時刻を取得します。 [詳解] | |
errno_t | Get (DateTimeParams *rhs) const noexcept |
時刻を取得します。 [詳解] | |
TimeValue | ToTimeValue () const noexcept |
TimeValue オブジェクトを返します。 | |
bool | IsValid () const noexcept |
有効な時刻かどうかをチェックします。 [詳解] | |
errno_t | GetDayOfYear (int *nth) const noexcept |
日時がその年の何番目の日であるかを取得します。 [詳解] | |
errno_t | GetDayOfWeek (Week *week) const noexcept |
何曜日かを取得します。 [詳解] | |
errno_t | Add (const TimeSpan &rhs) noexcept |
rhs で指定した期間を日時に加算します。 [詳解] | |
errno_t | AddYears (int value) noexcept |
value で指定した年数を日時に加算します。 [詳解] | |
errno_t | AddMonths (int value) noexcept |
value で指定した月数を日時に加算します。 [詳解] | |
errno_t | AddDays (double value) noexcept |
value で指定した日数を日時に加算します。 [詳解] | |
errno_t | AddHours (double value) noexcept |
value で指定した時間数を日時に加算します。 [詳解] | |
errno_t | AddMinutes (double value) noexcept |
value で指定した分数を日時に加算します。 [詳解] | |
errno_t | AddSeconds (double value) noexcept |
value で指定した秒数を日時に加算します。 [詳解] | |
errno_t | AddMilliSeconds (double value) noexcept |
value で指定したミリ秒数を日時に加算します。 [詳解] | |
errno_t | AddMicroSeconds (double value) noexcept |
value で指定したマイクロ秒数を日時に加算します。 [詳解] | |
errno_t | ToW3cDtf (char(&str)[32], const TimeSpan &zone) const noexcept |
日時をW3C-DTF形式の文字列で出力します。 [詳解] | |
errno_t | ToW3cDtf (char(&str)[32]) const noexcept |
ToW3cDtf(str, TimeSpan()) を呼び出します。 | |
errno_t | ToRfc2822 (char(&str) [32], const TimeSpan &zone) const noexcept |
日時をRFC2822形式の文字列で出力します。 [詳解] | |
errno_t | ToRfc2822 (char(&str)[32]) const noexcept |
ToRfc2822(str, TimeSpan()) を呼び出します。 | |
errno_t | ToAscTime (char(&str)[26]) const noexcept |
日時をasctime 形式の文字列で出力します。末尾に改行文字が入ることに注意してください。 [詳解] | |
operator bool () const | |
保持している時刻が有効ならばtrue を返します。 | |
DateTime & | operator+= (const TimeSpan &rhs) noexcept |
rhs で示される時間を加算します。 | |
DateTime & | operator-= (const TimeSpan &rhs) noexcept |
rhs で示される時間を減算します。 | |
DateTime (const struct timespec *tm) noexcept | |
timespec 構造体からオブジェクトを構築します。 | |
void | ToTimeSpec (struct timespec *tm) const noexcept |
timespec 構造体の値に変換します。 | |
基本的なメンバ関数 | |
constexpr | DateTime () noexcept |
デフォルトコンストラクタです。無効な時刻で初期化します。 | |
静的公開メンバ関数 | |
static constexpr bool | IsLeapYear (int year) noexcept |
閏年かどうかをチェックします。 [詳解] | |
static errno_t | GetNow (DateTime *p) noexcept |
現在の時刻からDateTime を設定します。 [詳解] | |
static int | GetDaysInMonth (int year, int month) noexcept |
年月を指定してその月が何日あるかを取得します。 [詳解] | |
static std::pair< const char *, errno_t > | Parse (const char *first, const char *last, DateTime *dt, TimeSpan *delta) noexcept |
日時を表記した文字列をパースしてDateTime オブジェクトとTimeSpan オブジェクトを設定します。 [詳解] | |
static errno_t | Parse (const char *str, DateTime *dt, TimeSpan *delta) |
ヌル終端する文字列をパースします。ヌル終端する前にパースされない文字に到達した場合へエラーになります。 | |
static bool | IsRfc3339 (const nlib_utf8_t *first, const nlib_utf8_t *last) noexcept |
文字列を指定してRFC3339に従う時刻の文字列かどうかを判定します。 [詳解] | |
static bool | IsRfc3339 (const nlib_utf8_t *str) noexcept |
IsRfc3339(str, str + strlen(str)) を実行します。 | |
日時を表すクラスです。
TimeSpan
オブジェクトの加算と減算がサポートされています。 DateTime.h の 246 行目に定義があります。
曜日を表す定数です。
列挙値 | |
---|---|
kWeekSunday | 日曜日 |
kWeekMonday | 月曜日 |
kWeekTuesday | 火曜日 |
kWeekWednesday | 水曜日 |
kWeekThursday | 木曜日 |
kWeekFriday | 金曜日 |
kWeekSaturday | 土曜日 |
DateTime.h の 249 行目に定義があります。
|
inlinenoexcept |
rhs
で指定した期間を日時に加算します。
[in] | rhs | 期間 |
DateTime
が無効であるか無効になる場合はERANGE
DateTime.h の 410 行目に定義があります。
|
inlinenoexcept |
value
で指定した日数を日時に加算します。
[in] | value | 日数 |
DateTime
が無効であるか無効になる場合はERANGE
DateTime.h の 415 行目に定義があります。
|
inlinenoexcept |
value
で指定した時間数を日時に加算します。
[in] | value | 時間数 |
DateTime
が無効であるか無効になる場合はERANGE
DateTime.h の 421 行目に定義があります。
|
inlinenoexcept |
value
で指定したマイクロ秒数を日時に加算します。
[in] | value | マイクロ秒数 |
DateTime
が無効であるか無効になる場合はERANGE
DateTime.h の 445 行目に定義があります。
|
inlinenoexcept |
value
で指定したミリ秒数を日時に加算します。
[in] | value | ミリ秒数 |
DateTime
が無効であるか無効になる場合はERANGE
DateTime.h の 439 行目に定義があります。
|
inlinenoexcept |
value
で指定した分数を日時に加算します。
[in] | value | 分数 |
DateTime
が無効であるか無効になる場合はERANGE
DateTime.h の 427 行目に定義があります。
|
noexcept |
value
で指定した月数を日時に加算します。
[in] | value | 月数 |
DateTime
が無効であるか無効になる場合はERANGE
|
inlinenoexcept |
value
で指定した秒数を日時に加算します。
[in] | value | 秒数 |
DateTime
が無効であるか無効になる場合はERANGE
DateTime.h の 433 行目に定義があります。
|
noexcept |
value
で指定した年数を日時に加算します。
[in] | value | 年数 |
DateTime
が無効であるか無効になる場合はERANGE
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
staticnoexcept |
年月を指定してその月が何日あるかを取得します。
[in] | year | 年 |
[in] | month | 月 |
|
staticnoexcept |
|
noexcept |
時刻を取得します。
[out] | hour | 時(1-23) |
[out] | min | 分(0-59) |
[out] | sec | 秒(0-59) |
[out] | msec | ミリ秒(0-999) |
[out] | usec | マイクロ秒(0-999) |
DateTime
が無効な場合はERANGE
|
noexcept |
日時を初期化します。
[in] | year | 年(1-1999) |
[in] | month | 月(1-12) |
[in] | day | 日(1-) |
[in] | hour | 時間(0-23) |
[in] | min | 分(0-59) |
[in] | sec | 秒(0-59) |
[in] | msec | ミリ秒(0-999) |
[in] | usec | マイクロ秒(0-999999) |
EINVAL
|
inlinestaticnoexcept |
|
staticnoexcept |
文字列を指定してRFC3339に従う時刻の文字列かどうかを判定します。
[in] | first | 検査する文字列の先頭 |
[in] | last | 検査する文字列の末尾 |
true
なら文字列はRFC3339に準拠する時刻の文字列
|
noexcept |
有効な時刻かどうかをチェックします。
true
|
staticnoexcept |
日時を表記した文字列をパースしてDateTime
オブジェクトとTimeSpan
オブジェクトを設定します。
[in] | first | 日時を表記した文字列の先頭 |
[in] | last | 日時を表記した文字列の末尾 |
[out] | dt | 日時情報が格納されます。 |
[out] | delta | タイムゾーン(+09:00等)の期間が格納されます。 |
first
と0以外の値のペア
|
noexcept |
日時をasctime
形式の文字列で出力します。末尾に改行文字が入ることに注意してください。
[out] | str | 26バイトの出力文字列用バッファ |
DateTime
が無効である場合はERANGE
|
noexcept |
日時をRFC2822形式の文字列で出力します。
[out] | str | 32バイトの出力文字列用バッファ |
[in] | zone | タイムゾーン |
DateTime
が無効である場合はERANGE
|
noexcept |
日時をW3C-DTF形式の文字列で出力します。
[out] | str | 32バイトの出力文字列用バッファ |
[in] | zone | タイムゾーン |
DateTime
が無効である場合はERANGE
© 2012-2017 Nintendo Co., Ltd. All rights reserved.