QDateTime


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

QDateTime

時間と時間を取り扱うクラスです。
公式リファレンス

備考

無効な QDateTime オブジェクト … 初期化されていない、または無効な時間が設定された QDateTime オブジェクトのことである。
isNull() がtrueを返して、isValid() がfalseを返す。

非静的メンバ関数

コンストラクタ

QDateTime::QDateTime()
無効な QDateTime オブジェクト を作成します。

QDateTime::QDateTime(const QDate & date)
指定された日付で初期化された QDateTime オブジェクトを作成します。
指定された日付が無効な時間の場合は、 無効な QDateTime オブジェクト を作成します。****パラメータ
date 日付

QDateTime::QDateTime(const QDate & date, const QTime & time, Qt::TimeSpec spec = Qt::LocalTime)
指定された時間仕様、日付及び時間で初期化された QDateTime オブジェクトを作成します。
指定された日付が有効で時間が無効な場合は、時間は00:00:00に設定されます。

パラメータ
  • date 日付
  • time 時間
  • spec 仕様
Qt::OffsetFromUTC Qt::UTCが設定されます
Qt::UTC UTCの時刻
Qt::TimeZone Qt::LocalTimeが設定されます
Qt::LocalTime ローカル時間

QDateTime::QDateTime(const QDate & date, const QTime & time, Qt::TimeSpec spec, int offsetSeconds)
指定された時間仕様、オフセット秒、日付及び時間で初期化された QDateTime オブジェクトを作成します。
指定された日付が有効で時間が無効な場合は、時間は00:00:00に設定されます。

パラメータ
  • date 日付
  • time 時間
  • spec 仕様
  • offsetSeconds オフセット秒 Qt::OffsetFromUTC 以外では無視されます
Qt::OffsetFromUTC offsetSeconds > 0 UTCからoffsetSeconds秒ずれた時間になります
Qt::OffsetFromUTC offsetSeconds = 0 Qt::UTCが設定されます
Qt::UTC UTCの時刻
Qt::TimeZone Qt::LocalTimeが設定されます
Qt::LocalTime ローカル時間

QDateTime::QDateTime(const QDate & date, const QTime & time, const QTimeZone & timeZone)
指定されたタイムゾーン、日付及び時間で初期化された QDateTime オブジェクトを作成します。
指定された日付が有効で時間が無効な場合は、時間は00:00:00に設定されます。
タイムゾーンが無視な場合は、 無効な QDateTime オブジェクト を作成します。
QTimeZone

パラメータ
  • date 日付
  • time 時間
  • timeZone タイムゾーン

コピーコンストラクタ

QDateTime::QDateTime(const QDateTime & other)

デストラクタ

QDateTime::~QDateTime()

時間を足し算する

QDateTime QDateTime::addMSecs(int ms) const
このオブジェクトの時間に指定されたミリ秒を可算した新しい QDateTime オブジェクトを返します。
無効な QDateTime オブジェクト の場合は、 無効な QDateTime オブジェクト を返します。
このオブジェクトの時間自体が変更されるわけではないので注意。
パラメータ
  • ms 可算するミリ秒

QDateTime QDateTime::addSecs(int s) const
このオブジェクトの時間に指定された秒数を可算した新しい QDateTime オブジェクトを返します。
無効な QDateTime オブジェクト の場合は、 無効な QDateTime オブジェクト を返します。
このオブジェクトの時間自体が変更されるわけではないので注意。
パラメータ
  • s 可算する秒数

QDate QDate::addDays(qint64 ndays) const
このオブジェクトの時間に指定された日数を可算した新しい QDate オブジェクトを返します。
無効な QDateTime オブジェクト の場合は、 無効な QDateTime オブジェクト を返します。
このオブジェクトの日付自体が変更されるわけではないので注意。
パラメータ
  • ndays 可算する日数

QDate QDate::addMonths(int nmonths) const
このオブジェクトの時間に指定された月数を可算した新しい QDate オブジェクトを返します。
無効な QDateTime オブジェクト の場合は、 無効な QDateTime オブジェクト を返します。
このオブジェクトの日付自体が変更されるわけではないので注意。
パラメータ
  • ndays 可算する月数

QDate QDate::addYears(int nyears) const
このオブジェクトの時間に指定された年数を可算した新しい QDate オブジェクトを返します。
無効な QDateTime オブジェクト の場合は、 無効な QDateTime オブジェクト を返します。
このオブジェクトの日付自体が変更されるわけではないので注意。
パラメータ
  • ndays 可算する年数








差を取得する

qint64 QDateTime::msecsTo(const QDateTime & other) const
指定した時間とこのオブジェクトの時間の差をミリ秒で返します。
指定した時間の方がこのオブジェクトの時間より早い場合は負の値を返します。
どちらか一方の時間が 無効な QDateTime オブジェクト の場合は、0を返します。
時間を比較する前に一度UTC時間に変換されるため、一方がサマータイムでもう一方がサマータイムでない場合でも正しい時間差を得ることが出来ます。
パラメータ
  • other 時間

int QDateTime::secsTo(const QDateTime & t) const
指定した時間とこのオブジェクトの時間の差を秒で返します。
指定した時間の方がこのオブジェクトの時間より早い場合は負の値を返します。
どちらか一方の時間が 無効な QDateTime オブジェクト の場合は、0を返します。
時間を比較する前に一度UTC時間に変換されるため、一方がサマータイムでもう一方がサマータイムでない場合でも正しい時間差を得ることが出来ます。
パラメータ
  • other 時間

qint64 QDateTime::daysTo(const QDateTime & other) const
指定した時間とこのオブジェクトの時間の差を日数で返します。
このオブジェクトまたは指定した日付が 無効な QDate オブジェクト の場合は、0を返します。
時間を比較する場合は時刻は両方とも00:00:00として計算します。
パラメータ
  • other 時間

このオブジェクトの時間情報を設定する

void QDateTime::setDate(const QDate & date)
このオブジェクトの時間に指定された日付を設定します。
パラメータ
  • date 日付

void QDateTime::setTime(const QTime & time)
このオブジェクトの時間に指定された時刻を設定します。
パラメータ
  • time 時刻

void QDateTime::setTimeSpec(Qt::TimeSpec spec)
このオブジェクトの時間仕様を設定します。
パラメータ
  • spec 時間仕様
Qt::OffsetFromUTC offsetSeconds > 0 UTCからoffsetSeconds秒ずれた時間になります
Qt::OffsetFromUTC offsetSeconds = 0 Qt::UTCが設定されます
Qt::UTC UTCの時刻
Qt::TimeZone Qt::LocalTimeが設定されます
Qt::LocalTime ローカル時間

void QDateTime::setTimeZone(const QTimeZone & toZone)
このオブジェクトのタイムゾーンを設定します。
タイムゾーンが無視な場合は、 無効な QDate オブジェクト になります。
パラメータ
  • toZone タイムゾーン

void QDateTime::setMSecsSinceEpoch(qint64 msecs)
このオブジェクトの時間をUNIX時間で設定します。
UNIX時間

void QDateTime::setTime_t(uint seconds)
このオブジェクトの時間をUNIX時間で設定します。

void QDateTime::setOffsetFromUtc(int offsetSeconds)
時間仕様を Qt::OffsetFromUTC に設定し、オフセットを指定した秒数に設定します。
オフセットは±14時間の範囲で指定でき、この範囲外の値を設定した場合の動作は未定義です。
秒数に0を指定すると、時間仕様を Qt::UTC に設定します。

このオブジェクトの時間が有効かどうか

bool QDateTime::isNull() const
このオブジェクトが 無効な QDateTime オブジェクト の場合はtrue、そうでない場合はfalseを返します。

bool QDateTime::isValid() const
このオブジェクトが 無効な QDateTime オブジェクト の場合はtrue、そうでない場合はfalseを返します。

変換する

QString QDateTime::toString(const QString & format) const
このオブジェクトの時間を文字列に変換して返します。
パラメータ
  • format 変数フォーマット

QString QDateTime::toString(Qt::DateFormat format = Qt::TextDate) const
このオブジェクトの時間を文字列に変換して返します。
パラメータ
  • format 変数フォーマット

QString QDateTime::timeZoneAbbreviation() const
タイムゾーンを文字列で取得します。
Qt::OffsetFromUTC "UTC[+-]00:00"
Qt::UTC "UTC"
Qt::LocalTime "ホストシステムに問い合わせた値"
返される文字列はローカライズされることもありますが、必ずされるとは限りません。
返される文字列の唯一性は保証できません。つまり異なるタイムゾーンでも同じ値が返される可能性があります。

このオブジェクトの時間情報を取得する

QDate QDateTime::date() const
このオブジェクトの時間の日付を返します。

QTime QDateTime::time() const
このオブジェクトの時間の時刻を返します。

Qt::TimeSpec QDateTime::timeSpec() const
このオブジェクトの時間の時間仕様を返します。

QTimeZone QDateTime::timeZone() const
このオブジェクトの時間のタイムゾーンを返します。

bool QDateTime::isDaylightTime() const
このオブジェクトの時間がサマータイムの場合はtrue、そうでない場合はfalseを返します。
Qt::TimeSpec が Qt::LocalTime または Qt::TimeZone でない場合はfalseを返します。

int QDateTime::offsetFromUtc() const
このオブジェクトの時間のUTCからのオフセットを秒で返します。
Qt::OffsetFromUTC 明示的に指定した値
Qt::UTC 0
Qt::TimeZone サマータイムも考慮したタイムゾーン内で有効なオフセット
Qt::LocalTime UTCとローカル時間の差

交換する

void QDateTime::swap(QDateTime & other)
指定した時間とこのオブジェクトの時間を交換します。

変換する

QDateTime QDateTime::toLocalTime() const
このオブジェクトの時間をローカル時間で返します。

qint64 QDateTime::toMSecsSinceEpoch() const
このオブジェクトの時間をUNIX時間で返します。

QDateTime QDateTime::toOffsetFromUtc(int offsetSeconds) const
このオブジェクトの時間をUTCからのオフセットの時間で返します。

QDateTime QDateTime::toTimeSpec(Qt::TimeSpec spec) const
このオブジェクトの時間を指定した時間仕様で返します。

QDateTime QDateTime::toTimeZone(const QTimeZone & timeZone) const
このオブジェクトの時間を指定したタイムゾーンで返します。

uint QDateTime::toTime_t() const
このオブジェクトの時間をUNIX時間で返します。

QDateTime QDateTime::toUTC() const
このオブジェクトの時間をUTC時間で返します。

静的メソッド

現在時刻を取得する

QDateTime QDateTime::currentDateTime() [static]
システムクロックより取得できる現在の時間を QDateTime オブジェクトで返します。

QDateTime QDateTime::currentDateTimeUtc() [static]
システムクロックより取得できる現在の時間を QDateTime オブジェクトで返します。

qint64 QDateTime::currentMSecsSinceEpoch() [static]
システムクロックより取得できる現在の時間をUNIX時間で返します。

QDateTimeオブジェクト生成

QQDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs) [static]

QDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetSeconds = 0) [static]

QDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs, const QTimeZone & timeZone) [static]

QDateTime QDateTime::fromTime_t(uint seconds) [static]

QDateTime QDateTime::fromTime_t(uint seconds, Qt::TimeSpec spec, int offsetSeconds = 0) [static]

QDateTime QDateTime::fromTime_t(uint seconds, const QTimeZone & timeZone) [static]

QDate QDate::fromString(const QString & string, Qt::DateFormat format = Qt::TextDate) [static]
日付を表す文字列を変換してQDate オブジェクトで返します。
文字列の解析に失敗した場合は、 無効な QDate オブジェクト を返します。
パラメータ
  • string 日付を表す文字列
  • format 日付を表す文字列のフォーマット

QDate QDate::fromString(const QString & string, const QString & format) [static]
日付を表す文字列を変換してQDate オブジェクトで返します。
文字列の解析に失敗した場合は、 無効な QDate オブジェクト を返します。
パラメータ
  • string 日付を表す文字列
  • format 日付を表す文字列のフォーマット