QDateTime Class
QDateTime クラスは日付と時刻の関数を提供します。詳細...
ヘッダ | #include <QDateTime> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 継承メンバを含む全メンバのリスト
- QDateTimeは暗黙的に共有されるクラスの一部です。
このクラスは弱く比較可能です。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
(since 6.7) enum class | TransitionResolution { Reject, RelativeToBefore, RelativeToAfter, PreferBefore, PreferAfter, …, LegacyBehavior } |
enum class | YearRange { First, Last } |
パブリック関数
QDateTime() | |
(until 6.9) | QDateTime(QDate date, QTime time, Qt::TimeSpec spec, int offsetSeconds = 0) |
QDateTime(QDate date, QTime time, const QTimeZone &timeZone, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior) | |
(since 6.5) | QDateTime(QDate date, QTime time, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior) |
QDateTime(const QDateTime &other) | |
QDateTime(QDateTime &&other) | |
~QDateTime() | |
QDateTime | addDays(qint64 ndays) const |
(since 6.4) QDateTime | addDuration(std::chrono::milliseconds msecs) const |
QDateTime | addMSecs(qint64 msecs) const |
QDateTime | addMonths(int nmonths) const |
QDateTime | addSecs(qint64 s) const |
QDateTime | addYears(int nyears) const |
QDate | date() const |
qint64 | daysTo(const QDateTime &other) const |
bool | isDaylightTime() const |
bool | isNull() const |
bool | isValid() const |
qint64 | msecsTo(const QDateTime &other) const |
int | offsetFromUtc() const |
qint64 | secsTo(const QDateTime &other) const |
void | setDate(QDate date, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior) |
void | setMSecsSinceEpoch(qint64 msecs) |
(until 6.9) void | setOffsetFromUtc(int offsetSeconds) |
void | setSecsSinceEpoch(qint64 secs) |
void | setTime(QTime time, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior) |
(until 6.9) void | setTimeSpec(Qt::TimeSpec spec) |
void | setTimeZone(const QTimeZone &toZone, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior) |
void | swap(QDateTime &other) |
QTime | time() const |
(since 6.5) QTimeZone | timeRepresentation() const |
Qt::TimeSpec | timeSpec() const |
QTimeZone | timeZone() const |
QString | timeZoneAbbreviation() const |
CFDateRef | toCFDate() const |
QDateTime | toLocalTime() const |
qint64 | toMSecsSinceEpoch() const |
NSDate * | toNSDate() const |
QDateTime | toOffsetFromUtc(int offsetSeconds) const |
qint64 | toSecsSinceEpoch() const |
(since 6.4) std::chrono::sys_time<std::chrono::milliseconds> | toStdSysMilliseconds() const |
(since 6.4) std::chrono::sys_seconds | toStdSysSeconds() const |
QString | toString(QStringView format, QCalendar cal) const |
QString | toString(const QString &format, QCalendar cal) const |
QString | toString(QStringView format) const |
QString | toString(Qt::DateFormat format = Qt::TextDate) const |
QString | toString(const QString &format) const |
(until 6.9) QDateTime | toTimeSpec(Qt::TimeSpec spec) const |
QDateTime | toTimeZone(const QTimeZone &timeZone) const |
QDateTime | toUTC() const |
(since 6.4) QDateTime & | operator+=(std::chrono::milliseconds duration) |
(since 6.4) QDateTime & | operator-=(std::chrono::milliseconds duration) |
QDateTime & | operator=(const QDateTime &other) |
静的パブリック・メンバ
(since 6.5) QDateTime | currentDateTime(const QTimeZone &zone) |
QDateTime | currentDateTime() |
QDateTime | currentDateTimeUtc() |
qint64 | currentMSecsSinceEpoch() |
qint64 | currentSecsSinceEpoch() |
QDateTime | fromCFDate(CFDateRef date) |
QDateTime | fromMSecsSinceEpoch(qint64 msecs, const QTimeZone &timeZone) |
QDateTime | fromMSecsSinceEpoch(qint64 msecs) |
(until 6.9) QDateTime | fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetSeconds = 0) |
QDateTime | fromNSDate(const NSDate *date) |
QDateTime | fromSecsSinceEpoch(qint64 secs, const QTimeZone &timeZone) |
QDateTime | fromSecsSinceEpoch(qint64 secs) |
(until 6.9) QDateTime | fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spec, int offsetSeconds = 0) |
(since 6.4) QDateTime | fromStdLocalTime(const std::chrono::local_time<std::chrono::milliseconds> &time) |
(since 6.4) QDateTime | fromStdTimePoint(const std::chrono::local_time<std::chrono::milliseconds> &time) |
(since 6.4) QDateTime | fromStdTimePoint(const std::chrono::time_point<Clock, Duration> &time) |
(since 6.4) QDateTime | fromStdTimePoint(std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds> time) |
(since 6.4) QDateTime | fromStdZonedTime(const int &time) |
QDateTime | fromString(const QString &string, Qt::DateFormat format = Qt::TextDate) |
QDateTime | fromString(const QString &string, const QString &format, int baseYear, QCalendar cal) |
(since 6.0) QDateTime | fromString(QStringView string, Qt::DateFormat format = Qt::TextDate) |
(since 6.0) QDateTime | fromString(QStringView string, QStringView format, QCalendar cal) |
(since 6.7) QDateTime | fromString(QStringView string, QStringView format, int baseYear = QLocale::DefaultTwoDigitBaseYear) |
(since 6.0) QDateTime | fromString(const QString &string, QStringView format, QCalendar cal) |
(since 6.7) QDateTime | fromString(const QString &string, QStringView format, int baseYear = QLocale::DefaultTwoDigitBaseYear) |
QDateTime | fromString(const QString &string, const QString &format, QCalendar cal) |
(since 6.7) QDateTime | fromString(const QString &string, const QString &format, int baseYear = QLocale::DefaultTwoDigitBaseYear) |
(since 6.7) QDateTime | fromString(QStringView string, QStringView format, int baseYear, QCalendar cal) |
(since 6.0) QDateTime | fromString(const QString &string, QStringView format, int baseYear, QCalendar cal) |
関連する非メンバー
bool | operator!=(const QDateTime &lhs, const QDateTime &rhs) |
(since 6.4) QDateTime | operator+(const QDateTime &dateTime, std::chrono::milliseconds duration) |
(since 6.4) QDateTime | operator+(std::chrono::milliseconds duration, const QDateTime &dateTime) |
(since 6.4) std::chrono::milliseconds | operator-(const QDateTime &lhs, const QDateTime &rhs) |
(since 6.4) QDateTime | operator-(const QDateTime &dateTime, std::chrono::milliseconds duration) |
bool | operator<(const QDateTime &lhs, const QDateTime &rhs) |
QDataStream & | operator<<(QDataStream &out, const QDateTime &dateTime) |
bool | operator<=(const QDateTime &lhs, const QDateTime &rhs) |
bool | operator==(const QDateTime &lhs, const QDateTime &rhs) |
bool | operator>(const QDateTime &lhs, const QDateTime &rhs) |
bool | operator>=(const QDateTime &lhs, const QDateTime &rhs) |
QDataStream & | operator>>(QDataStream &in, QDateTime &dateTime) |
詳細説明
QDateTimeオブジェクトは、カレンダーの日付と時計の時刻("datetime")を時間表現に従ってエンコードします。これは、QDate およびQTime クラスの機能を組み合わせたものです。システム時計から現在の日時を読み取ることができます。QDateTime は、日時を比較する関数や、秒、日、月、年を追加して日時を操作する関数を提供します。
QDateTimeは、local time 、UTC 、指定されたoffset from UTC 、または指定されたtime zone 。これらの時間表現はそれぞれ、QTimeZone クラスの適切なインスタンスにカプセル化することができる。例えば、タイムゾーンを "Europe/Berlin "とすると、ドイツで使用されている夏時間 規則が適用される。対照的に、UTCからの固定オフセットである+3600秒は、UTCから1時間進んでおり(通常、ISO標準記法では "UTC+01:00 "と表記される)、夏時間の複雑さはありません。ローカルタイムまたは指定されたタイムゾーンを使用する場合、タイムゾーンの遷移 (below を参照) が考慮されます。QDateTime のtimeSpec() は、4 種類の時間表現のうちどれが使用されているかを示します。そのtimeRepresentation() は、その時間表現の完全な説明をQTimeZone として提供します。
QDateTime オブジェクトは通常、コンストラクタで日付と時刻を明示的に指定するか、currentDateTime() やfromMSecsSinceEpoch() などの静的関数を使用して作成します。日時はsetDate() やsetTime() で変更できます。また、setMSecsSinceEpoch() 関数を使用して、1970年のUTC開始からの時間をミリ秒単位で設定することもできます。fromString() 関数は、文字列と、文字列内の日付を解釈するための日付書式を指定すると、QDateTime を返します。
QDateTime::currentDateTime() は、ローカル時間 (既定値) など、特定の時間表現を基準にした現在の日付と時刻を表す QDateTime を返します。QDateTime::currentDateTimeUtc() は、UTC を基準とした現在の日時を表す QDateTime を返します。これはQDateTime::currentDateTime(QTimeZone::UTC)
と同等です。
date() およびtime() 関数は、datetime の日付部分と時刻部分へのアクセスを提供します。同じ情報をテキスト形式で提供するのがtoString() 関数です。
QDateTime には、2 つの QDateTime オブジェクトを比較するための演算子一式が用意されています。
addMSecs() でミリ秒単位、addSecs() で秒単位、addDays() で日単位を指定できます。同様に、addMonths() やaddYears() も使用できる。daysTo() 関数は2つの日付間の日数を返し、secsTo() は2つの日付間の秒数を返し、msecsTo() は2つの日付間のミリ秒数を返します。これらの演算は、夏時間(DST)やその他の時間帯の遷移(該当する場合)を考慮している。
toTimeZone() を使用して、別の時刻表現で日付時刻を再表現する。ローカル時間、UTC、またはUTCからの固定オフセットを表す軽量なQTimeZone を渡すことで、対応する時間表現を使用するようにdatetimeを変換することができます。また、代わりに完全なタイムゾーン(そのtimeSpec() はQt::TimeZone
)を渡すことで、それを使用することができます。
備考
注意: QDateTime はうるう秒を考慮しません。
注意 : 文字列フォーマットへの変換と文字列フォーマットからの変換は、すべて C ロケールを使用して行われます。ローカライズされた変換については、QLocale を参照してください。
注意 :グレゴリオ暦には0年という年はありません。その年の日付は無効とみなされる。年-1は、"1 before Christ "または "1 before common era "の年である。CE1年1月1日の前日はBCE1年12月31日である。
注: ローカルタイム(デフォルト)または指定タイムゾーンを使用する場合、transitions に関する問題を解決する必要があります。その結果、このようなQDateTimeインスタンスに対する操作(特にインスタンスの構築を含む)は、UTCまたはUTCからの固定オフセットを使用する場合よりも高くなる可能性があります。
有効な日付の範囲
QDateTimeが表現できる値の範囲は、内部ストレージの実装に依存します。QDateTimeは現在、日付と時刻をエンコードしたシリアルmsecs値としてqint64に格納されています。このため、QDate の範囲が±20億年であるのに対し、日付の範囲は約±2億9,200万年に制限されます。QDateTimeを極端な値で作成する場合は、ストレージがオーバーフローしないように注意する必要があります。サポートされる値の正確な範囲は、使用する時間表現によって異なります。
タイムゾーンの使用
QDateTimeはシステムのタイムゾーン情報を使用して、現在のローカルタイムゾーンとUTCからのオフセットを決定します。システムが正しく設定されていなかったり、最新でない場合、QDateTimeは間違った結果を出します。
QDateTimeも同様に、システムが提供する情報を使用して、UTCからの他のタイムゾーンのオフセットを決定します。この情報が不完全であったり、古かったりすると、QDateTimeは間違った結果を出します。詳しくはQTimeZone のドキュメントを参照してください。
最新のUnixシステムでは、QDateTimeは通常、可能な限り過去の遷移(サマータイムを含む。Windowsでは、システムが過去のタイムゾーンデータをサポートしていないため、特に夏時間を含むタイムゾーンの遷移に関して、過去の正確性は維持されません。しかし、ICUライブラリを使ってQtをビルドすると、QTimeZone 、Unixで使用されているのと同じタイムゾーンデータベースが使用できるようになります。
タイムゾーンの遷移
QDateTimeはタイムゾーンの遷移を考慮します。標準時と夏時間(DST)の間の遷移と、ゾーンが標準オフセットを変更したときに生じる遷移の両方を考慮します。例えば、午前2時に移行し、時計が午前3時に進む場合、02:00:00から02:59:59.999まで「欠けた」時間がある。このような移行は「スプリングフォワード」と呼ばれ、飛ばされた時間は意味を持たない。逆に「フォールバック」と呼ばれる移行では、ある時間間隔が繰り返され、まず古いゾーン(通常は夏時間)で、次に新しいゾーン(通常は標準時)で繰り返されるため、この時間間隔の時刻は曖昧になります。
一部のゾーンでは、「逆」夏時間を使用し、夏は標準時、冬は夏時間(オフセットを小さくしたもの)を使用している。このようなゾーンでは、スプリングフォワードは春に起こり、1時間スキップしますが、サマータイムからの移行となり、フォールバックは秋の1時間を繰り返しますが、サマータイムへの移行となります。
UTC時間(またはUTCから一定のオフセットがある時間)から変換する場合、どのタイムゾーンでも常に明確で有効な結果が得られます。しかし、日付と時刻を組み合わせて、現地時間や特定のタイムゾーンを基準とした日付時刻を作成する場合、名目上の結果がトランジションに該当する可能性があり、無効または曖昧になります。このような状況が発生する可能性のあるメソッドは、resolve
パラメータを取ります。要求されたdatetimeが有効であいまいでない場合、このパラメータは常に無視されます。TransitionResolution を参照してください。Qt 6.7 以前では、LegacyBehavior に相当するものが選択されていました。
スプリングフォワードのスキップされたインターバルでは、要求された時刻をどちらかのオフセットで解釈すると、もう一方のオフセットが使用されていた実際の時刻が得られます。そのため、resolve
にTransitionResolution::RelativeToBefore
を渡すと、実際には遷移後の時刻になり、遷移が起こっていなければ要求された表現になっていたはずです。同様に、resolve
に対してTransitionResolution::RelativeToAfter
を渡すと、遷移の前の時刻になり、遷移が早く起こっていれば、要求された表現になっていたはずです。
QDateTime が addDay() やaddSecs() のように算術演算を行う場合は、有効な結果を生成するように注意します。例えば、02:00 から 03:00 にスプリングフォワードする日では、01:59:59 に 1 秒を足すと 03:00:00 になります。前日の02:30に1日足すと、移行日の03:30になり、翌日の02:30にaddDay(-1)
、1日引くと、移行日の01:30になる。addSecs() が指定された秒数だけ時刻をずらすのに対して、addDays() は日付を調整し、そうしなければ無効な結果が得られる場合にのみ時刻を調整する。スプリングフォワード前日の03:00にaddDays(1)
を適用すると、移行日は前日の23時間後であるにもかかわらず、単純に03:00となる。しかし、addSecs(24 * 60 * 60)
を適用すると、移行日は24時間後であるため、04:00となる。一般的な遷移では、23時間や25時間の日もある。
システムtime_t
が表現できる日付時間(32ビットtime_t
を持つシステムでは1901-12-14から2038-01-18まで、64ビットの場合はQDateTimeが表現できる全範囲)については、標準のシステムAPIを使用してUTCからのローカル時間のオフセットを決定します。これらのシステムAPIで扱われない日付時間(time_t
の範囲内のものも含まれる可能性がある)については、QTimeZone::systemTimeZone ()が利用可能であれば利用されるか、推定するための最善の努力がなされる。いずれにせよ、使用されるオフセット情報はシステムに依存し、不完全であったり、過去の日付については歴史的に不正確であったりする可能性がある。さらに、将来の日付については、その日付が来る前に、現地のタイムゾーンのオフセットやサマータイムのルールが変更される可能性があります。
全日移行
国際日付変更線を移動させるために、丸1日をスキップしたり、繰り返したりするゾーンもあります。このような場合、daysTo() は、重複やずれに気づかず、単に暦日の差を使用する。対照的に、msecsTo() とsecsTo() は、真の時間間隔を知っている。同様に、addMSecs ()とaddSecs ()は経過時間に直接対応し、addDays ()、addMonths ()、addYears ()は公称暦に従う。ギャップや重複に着地する際に、重複や省略による曖昧さや無効性を解決する必要がある場合は別である。
注: ユリウス暦からグレゴリオ暦への変更など、暦の変更時に「失われた」日は、QDateTimeには影響しない。2つの暦では日付の表記が異なりますが、暦の変更に伴う連続した日は、QDate インスタンスによって表記されます。対照的に、1日をスキップしたり重複させたりするゾーンは、日付ではなく時刻の 記述を24時間単位で変更することになる。
UTCからのオフセット
UTCからのオフセットは、グリニッジの東側で秒単位で計測される。特定の日の正午など、特定の日付と時刻が示す瞬間は、使用される時間表現によって異なります。UTCからのオフセットが大きいものはより早い瞬間を表し、小さいものはより遅い瞬間を表します。
UTCからのオフセットに明示的なサイズ制限はありませんが、toString()やfromString()メソッドで±hh:mm形式を使用する場合は暗黙の制限があります。現在のところ、±14 時間の範囲外のオフセットを持つタイムゾーンはなく、既知のオフセットはすべて 5 分の倍数である。歴史的なタイムゾーンにはもっと広い範囲があり、秒を含むオフセットがあるかもしれない。
QDate 、QTime 、QDateTimeEdit 、QTimeZoneも参照のこと 。
メンバ型ドキュメント
[since 6.7]
enum class QDateTime::TransitionResolution
この列挙は、Timezone transitions に該当するdatetimeの組み合わせを解決するために使用される。
現地時間または夏時間を持つタイムゾーンで指定されたdatetimeを作成する場合、またはsetDate()、setTime()、setTimeZone()で修正する場合、指定されたパラメータは、そのゾーンで意味を持たないか、2つの意味を持つ時間表現を意味することがある。そのような時間表現は、遷移の中にあると記述される。いずれの場合も、単に無効なdatetimeを返すことで、その操作が定義されて いないことを示すことができる。曖昧な場合は、2つの時間のうちどちらかを選択することもできる。意味がない場合は、どちらか一方を選択することができます。例えば、より早い時間から進む場合、問題の早い時間から指定された時間だけ経った移行後の時間を選択することができる。ここで指定するオプションは、そのような選択をどのように行うかを設定する。
定数 | 値 | 説明 |
---|---|---|
QDateTime::TransitionResolution::Reject | 0 | トランジション内の任意の時間を無効として扱います。本当にそうであるか、あいまいであるかのどちらかである。 |
QDateTime::TransitionResolution::RelativeToBefore | 1 | トランジション前の時間からステップフォワードするように時間を選択する。これは、トランジション前に有効であったオフセットを使用して要求された時間を解釈し、必要であれば、その結果を結果の時間に有効であったオフセットに変換する。 |
QDateTime::TransitionResolution::RelativeToAfter | 2 | トランジション後の時間から後方にステップするように時間を選択する。これは、トランジション後に有効なオフセットを使用して要求された時間を解釈し、必要であれば、結果を結果時刻に有効なオフセットに変換する。 |
QDateTime::TransitionResolution::PreferBefore | 3 | トランジション前の時間を選択する、 |
QDateTime::TransitionResolution::PreferAfter | 4 | 移行後の時間を選択する。 |
QDateTime::TransitionResolution::PreferStandard | 5 | 標準時側の時刻を選択します。 |
QDateTime::TransitionResolution::PreferDaylightSaving | 6 | 夏時間] 切り替えの夏時間側の時刻を選択します。 |
QDateTime::TransitionResolution::LegacyBehavior | RelativeToBefore | RelativeToBefore のエイリアスで、TransitionResolution パラメーターのデフォルトとして使用されます。 |
addDays(),addMonths(),addYears() の場合、正の調整を追加する場合はRelativeToBefore
を、負の調整を追加する場合はRelativeToAfter
を使用します。
注: 夏時間がUTCからのオフセットを増加させるタイムゾーン("ポジティブDST "として知られている)では、PreferStandardはRelativeToAfterのエイリアスであり、PreferDaylightSavingはRelativeToBeforeのエイリアスである。サマータイムのメカニズムが冬のUTCからのオフセットを減少させる("負のDST "として知られている)タイムゾーンでは、オペレーティングシステムが(ほとんどのプラットフォームでそうであるように)日付時刻がDSTであるか標準時であるかを報告する場合、その逆が適用されます。Qt::TimeZone 、移行時間が利用できないプラットフォームもあるため、QTimeZone 、UTCからのオフセットが小さい方を標準時と推定せざるを得ない。
以下の表は、QDateTime コンストラクターが、ローカルタイムが02:00と03:00の間に遷移する日の 02:30のリクエストを、公称標準時LSTと夏時間LDTの2つの側で、どのように解決するか を、考えられるさまざまなケースで示している。遷移のタイプは、1時間スキップすることも、繰り返すこともできる。移行の種類とパラメータ(resolve
)の値によって、指定された日付の実際の時刻が選択される。まず、一般的な夏時間の場合である:
前 | 02:00-03:00 | 後 | resolve | 選択された |
---|---|---|---|---|
LST | スキップ | LDT | 相対時間前 | 03:30 LDT |
LST | スキップ | LDT | 相対時間 | 01:30 LST |
LST | スキップ | LDT | PreferBefore | 01:30 LST |
LST | スキップ | LDT | 後を優先 | 03:30 LDT |
LST | スキップ | LDT | 標準を優先 | 01:30 LST |
LST | スキップ | LDT | 夏時間を優先 | 03:30 LDT |
LDT | 繰り返す | LST | 相対時間前 | 02:30 LDT |
LDT | リピート | LST | 相対時間後 | 02:30 LST |
LDT | 繰り返し | LST | PreferBefore | 02:30 LDT |
LDT | リピート | LST | プリファーアフター | 02:30 LST |
LDT | リピート | LST | 標準を優先 | 02:30 LST |
LDT | リピート | LST | デイライトセービングを優先 | 02:30 LDT |
次に、マイナス夏時間の場合、冬はLDTを使用し、夏は1時間スキップしてLSTに移行し、冬に戻るときに1時間繰り返す:
LDT | スキップ | LST | 相対時間前 | 03:30 LST |
LDT | スキップ | LST | 相対時間 | 01:30 LDT |
LDT | スキップ | LST | PreferBefore | 01:30 LDT |
LDT | スキップ | LST | 後を優先 | 03:30 LST |
LDT | スキップ | LST | 標準を優先 | 03:30 LST |
LDT | スキップ | LST | デイライトセービングを優先 | 01:30 LDT |
LST | 繰り返す | LDT | 相対時間前 | 02:30 LST |
LST | 繰り返し | LDT | 相対時間 | 02:30 LDT |
LST | 繰り返し | LDT | PreferBefore | 02:30 LST |
LST | リピート | LDT | プリファーアフター | 02:30 LDT |
LST | リピート | LDT | 標準を優先 | 02:30 LST |
LST | リピート | LDT | 夏時間を優先 | 02:30 LDT |
Rejectを使用すると、関連するQDateTime APIに無効なdatetimeオブジェクトを返すように促すことができます。そのため、コード自身で遷移を処理することができます。たとえば、ユーザーが選択したdatetimeが遷移区間であることを警告し、競合やあいまいさを解決する機会を提供することができます。これを使用するコードは、自分自身(またはユーザー)の解決に使用する関連情報を決定するために、上記の他のオプションが役に立つかもしれません。トランジションの開始または終了、あるいはトランジションの瞬間そのものが正しい解決である場合、QTimeZone'のトランジションAPIを使用してその情報を得ることができます。secsTo ()を使って、前後の日の正午の間の実際の時間を測定することで、トランジションが繰り返されるインターバルなのか、スキップされるインターバルなのかを判断することができる。結果は、スキップされた間隔(スプリング・フォワードなど)の場合は48時間未満となり、繰り返された間隔(フォールバックなど)の場合は48時間以上となる。
注意: Reject以外の解決法が指定された場合、可能であれば有効なQDateTime オブジェクトが返される。要求された日付時刻がギャップに含まれる場合、返される日付時刻は、要求されたtime() を持たない - 場合によっては、丸一日スキップされた場合はdate() を持つ。したがって、date() とtime() を要求されたものと比較することで、ギャップが発生したことを検出することができます。
他のdatetimeソフトウェアとの関係
Pythonプログラミング言語のdatetime APIには、RelativeToBefore
(fold = True
) とRelativeToAfter
(fold = False
) に対応するfold
パラメータがあります。
JavaScriptのDate
を置き換えるためのTemporal
の提案は、disambiguation
パラメーターの値として、遷移を解決する方法について4つのオプションを提供しています。その'reject'
は例外を発生させますが、これはReject
が無効な結果を生成することにほぼ対応します。'earlier'
と'later'
のオプションはPreferBefore
とPreferAfter
に対応します。'compatible'
のオプションはRelativeToBefore
(と Python のfold = True
) に対応します。
この列挙型は Qt 6.7 で導入されました。
Timezone transitions と QDateTime::TransitionResolutionも参照してください 。
enum class QDateTime::YearRange
この列挙型は、QDateTime で表現可能な年(グレゴリオ暦)の範囲を記述します:
定数 | 値 | 説明 |
---|---|---|
QDateTime::YearRange::First | -292275056 | この年の後半部分が表現可能 |
QDateTime::YearRange::Last | +292278994 | この年の前の部分が表現可能 |
これらの2つの年の間のすべての日付も表現可能である。ただし、グレゴリオ暦にはゼロ年がないことに注意。
メンバ関数のドキュメント
QString QDateTime::toString(QStringView format, QCalendar cal) const
QString QDateTime::toString(const QString &format, QCalendar cal) const
datetimeを文字列で返す。format パラメータは、結果の文字列の書式を決定します。cal デフォルトはグレゴリオ暦です。Qt 5.14以前では、cal パラメータはなく、常にグレゴリオ暦が使用されていました。format パラメータでサポートされている時刻と日付の指定子については、それぞれQTime::toString() とQDate::toString() を参照してください。
一重引用符で囲まれた文字列は、フォーマット文字を含んでいても、(引用符を 取り除いた)出力文字列にそのまま含まれる。連続する2つの一重引用符("''")は、出力では一重引用符に置き換えられる。書式文字列内のその他の文字は、出力文字列にそのまま含まれます。
セパレータのない書式(例えば "ddMM")はサポートされているが、結果の文字列が必ずしも確実に読めるとは限らないので、注意して使用しなければならない(例えば、"dM "が "212 "を生成する場合、それは12月2日を意味することもあれば、2月21日を意味することもある)。
フォーマット文字列の例(QDateTime は2001年5月21日 14:13:09.120とする):
書式 | 結果 |
---|---|
dd.MM.yyyy | 21.05.2001 |
ddd MMMM d yy | 5月21日(火) 01 |
hh:mm:ss.zzz | 14:13:09.120 |
hh:mm:ss.z | 14:13:09.12 |
h:m:s ap | 2:13:9 pm |
datetimeが無効な場合は、空の文字列が返されます。
注意: 曜日名、月名、AM/PMインジケータは英語(Cロケール)で表示されます。ローカライズされた月日名やAM/PMを取得するには、QLocale::system().toDateTime() を使用します。
fromString(),QDate::toString(),QTime::toString(),QLocale::toString()も参照 。
[noexcept]
QDateTime::QDateTime()
NULL datetimeを構築する。
null datetime は無効であり、その日付と時刻は無効です。
isValid()、setMSecsSinceEpoch()、setDate()、setTime()、setTimeZone()も参照 。
[until 6.9]
QDateTime::QDateTime(QDate date, QTime time, Qt::TimeSpec spec, int offsetSeconds = 0)
この関数はバージョン6.9で廃止予定です。
QDateTime(date, time)
またはQDateTime(date, time, QTimeZone::fromSecondsAheadOfUtc(offsetSeconds))
を使用してください。
与えられたdate とtime を用いて、spec とoffsetSeconds の秒による時刻表現を用いてdatetimeを構築します。
date が有効でtime が有効でない場合、時刻は真夜中に設定されます。
spec がQt::OffsetFromUTC でない場合、offsetSeconds は無視される。spec がQt::OffsetFromUTC で、offsetSeconds が 0 の場合、timeSpec() はQt::UTC 、すなわち 0 秒のオフセットに設定される。
spec がQt::TimeZone の場合、spec はQt::LocalTime 、つまり現在のシステム・タイムゾーンに設定される。Qt::TimeZone datetimeを作成するには、正しいコンストラクタを使用してください。
date が QDateTime で表現可能な日付の範囲外の場合、結果は無効です。spec がQt::LocalTime で、システムのタイムゾーンが指定された日時をスキップした場合、結果は無効です。
QDateTime::QDateTime(QDate date, QTime time, const QTimeZone &timeZone, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior)
与えられたdate とtime を用いて、timeZone で記述された時刻表現を用いてdatetimeを構築する。
date が有効でtime が無効な場合、時刻は深夜に設定されます。timeZone が無効な場合、そのdatetimeは無効になります。date とtime が、timeZone の遷移に近い瞬間を記述している場合、resolve は、その状況をどのように解決するかを制御します。
注意: Qt 6.7より前のバージョンでは、この関数にresolve パラメータがなかったため、遷移に関連する曖昧さを解決する方法がありませんでした。
[since 6.5]
QDateTime::QDateTime(QDate date, QTime time, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior)
これはオーバーロードされた関数である。
与えられたdate とtime を用いて、ローカル時間を用いてdatetimeを構築する。
date が有効でtime が有効でない場合、深夜が時刻として使用されます。date とtime がローカル時間の遷移に近い瞬間を記述している場合、resolve はその状況をどのように解決するかを制御します。
注意: Qt 6.7 より前のバージョンでは、この関数にはresolve パラメータがなく、遷移に関連する曖昧さを解決する方法がありませんでした。
この関数はQt 6.5で導入されました。
[noexcept]
QDateTime::QDateTime(const QDateTime &other)
other datetimeのコピーを作成する。
[noexcept]
QDateTime::QDateTime(QDateTime &&other)
一時的なother datetimeの内容をこのオブジェクトに移動し、other を未指定の(しかし適切な)状態にする。
[noexcept]
QDateTime::~QDateTime()
datetimeを破棄する。
QDateTime QDateTime::addDays(qint64 ndays) const
このオブジェクトの日時よりndays 日後の日時を含むQDateTime オブジェクトを返します(ndays が負の場合はそれ以前)。
timeSpec() がQt::LocalTime またはQt::TimeZone で、結果の日付と時刻が標準時から夏時間に移行する時間帯に含まれる場合、結果はこのずれをちょうど超えたところ、つまり変更される方向になります。移行が午前2時で、時計が午前3時に進む場合、午前2時と午前3時の間を狙った結果は、午前2時より前(ndays < 0
の場合)か、午前3時より後(それ以外の場合)になるように調整される。
daysTo(),addMonths(),addYears(),addSecs(),Timezone transitionsも参照のこと 。
[since 6.4]
QDateTime QDateTime::addDuration(std::chrono::milliseconds msecs) const
このオブジェクトのdatetimeよりmsecs ミリ秒後のdatetimeを含むQDateTime オブジェクトを返します(msecs が負の場合はそれ以前のdatetime)。
このdatetimeが無効な場合は、無効なdatetimeが返されます。
注: std::chrono::months
またはstd::chrono::years
で表現された継続時間を追加しても、addMonths ()またはaddYears ()を使用して得られる結果と同じ結果は得られない。後者はグレゴリオ暦の月/年の定義を使用します。
この関数はQt 6.4で導入されました。
addMSecs(),msecsTo(),addDays(),addMonths(),addYears()も参照してください 。
QDateTime QDateTime::addMSecs(qint64 msecs) const
このオブジェクトのdatetimeよりmsecs ミリ秒後のdatetimeを含むQDateTime オブジェクトを返します(msecs が負の場合はそれ以前のdatetime)。
この datetime が無効な場合は、無効な datetime が返されます。
addSecs()、msecsTo()、addDays()、addMonths() およびaddYears()も参照 。
QDateTime QDateTime::addMonths(int nmonths) const
このオブジェクトの日時よりnmonths ヶ月後の日時を含むQDateTime オブジェクトを返します(nmonths が負の場合はそれ以前)。
timeSpec() がQt::LocalTime またはQt::TimeZone で、結果の日付と時刻が標準時から夏時間に移行する時間帯に含まれる場合、結果はこのずれをちょうど超えたところ、つまり変更される方向になります。移行が午前2時で、時計が午前3時に進む場合、午前2時と午前3時の間を狙った結果は、午前2時より前(nmonths < 0
の場合)か、午前3時より後(それ以外の場合)になるように調整される。
daysTo(),addDays(),addYears(),addSecs(),Timezone transitionsも参照のこと 。
QDateTime QDateTime::addSecs(qint64 s) const
このオブジェクトのdatetimeよりs 秒後のdatetimeを含むQDateTime オブジェクトを返します(s が負の場合はそれ以前)。
この datetime が無効な場合は、無効な datetime が返されます。
addMSecs()、secsTo()、addDays()、addMonths() およびaddYears()も参照 。
QDateTime QDateTime::addYears(int nyears) const
このオブジェクトの日時よりnyears 年後の日時を含むQDateTime オブジェクトを返します(nyears が負の場合はそれ以前)。
timeSpec() がQt::LocalTime またはQt::TimeZone で、結果の日付と時刻が標準時から夏時間に移行する時間帯に含まれる場合、結果はこのずれをちょうど超えたところ、つまり変更される方向になります。移行が午前2時で、時計が午前3時に進む場合、午前2時と午前3時の間を狙った結果は、午前2時より前(nyears < 0
の場合)か、午前3時より後(それ以外の場合)になるように調整される。
daysTo(),addDays(),addMonths(),addSecs(),Timezone transitionsも参照のこと 。
[static, since 6.5]
QDateTime QDateTime::currentDateTime(const QTimeZone &zone)
zone で記述されている時間表現を使って、システム時計の現在の日時を返す。zone が省略された場合、ローカル時間が使用されます。
この関数は Qt 6.5 で導入されました。
currentDateTimeUtc(),QDate::currentDate(),QTime::currentTime(),toTimeSpec()も参照してください 。
[static]
QDateTime QDateTime::currentDateTime()
これはオーバーロードされた関数である。
[static]
QDateTime QDateTime::currentDateTimeUtc()
システム時計の現在の日時をUTCで表したものを返す。
currentDateTime(QTimeZone::UTC)
に相当する。
currentDateTime()、QDate::currentDate()、QTime::currentTime()、toTimeSpec()も参照の こと。
[static noexcept]
qint64 QDateTime::currentMSecsSinceEpoch()
1970年の開始からの現在のミリ秒数をUTCで返す。
この数値はPOSIXのtime_t変数と似ているが、秒ではなくミリ秒単位で表される。
currentDateTime()、currentDateTimeUtc()、toTimeSpec()も参照 。
[static noexcept]
qint64 QDateTime::currentSecsSinceEpoch()
1970年の開始からの秒数をUTCで返します。
この数値は POSIX の time_t 変数のようなものである。
currentMSecsSinceEpoch()も参照 。
QDate QDateTime::date() const
datetime の日付部分を返します。
setDate()、time() およびtimeRepresentation()も参照 ください。
qint64 QDateTime::daysTo(const QDateTime &other) const
このdatetimeからother datetimeまでの日数を返します。日数は、このdatetimeからother datetimeまでの間に0時に達した回数としてカウントされます。つまり、23:55から翌日の0:05までの10分の差が1日とカウントされます。
other の日付がこの日付より早い場合、返される値は負になります。
例
QDateTimestartDate(QDate(2012, 7, 6), QTime(8, 30, 0));QDateTime終了日(QDate(2012, 7, 7), QTime(16, 30, 0));qDebug() << "Days from startDate to endDate: " << startDate.daysTo(endDate); 開始日QDateTime(QDate(2012, 7, 6), QTime(23, 55, 0)); endDate=QDateTime(QDate(2012, 7, 7), QTime(0, 5, 0));qDebug() << "Days from startDate to endDate: " << startDate.daysTo(endDate); qSwap(startDate, endDate); // Make endDate before startDate. qDebug() << "Days from startDate to endDate: " << startDate.daysTo(endDate);
addDays ()、secsTo ()、msecsTo ()も参照のこと 。
[static]
QDateTime QDateTime::fromCFDate(CFDateRef date)
CFDatedate のコピーを含む新しいQDateTime を構築する。
toCFDate()も参照 。
[static]
QDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs, const QTimeZone &timeZone)
timeZone で指定された、1970年のUTCにおける開始時刻からmsecs ミリ秒後の時刻を表すdatetimeを返します。デフォルトの時刻表現はローカルタイムである。
msecs QDateTime の有効範囲外には、負の値も正の値もあることに注意。これらの値に対するこの関数の動作は未定義である。
fromSecsSinceEpoch()、toMSecsSinceEpoch()、setMSecsSinceEpoch()も参照 。
[static]
QDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs)
これはオーバーロードされた関数である。
[static, until 6.9]
QDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetSeconds = 0)
この関数はバージョン6.9で廃止予定です。
これはオーバーロードされた関数です。
代わりにQTimeZone を渡すか、spec とoffsetSeconds を省略します。
spec とoffsetSeconds で指定された、1970年のUTCにおける開始時刻から、指定されたミリ秒数msecs 後を表すdatetimeを返します。
msecs には、QDateTime の有効範囲外の値(負の値も正の値も)があり得ることに注意。これらの値に対するこの関数の動作は未定義である。
spec がQt::OffsetFromUTC でない場合、offsetSeconds は無視される。spec がQt::OffsetFromUTC でoffsetSeconds が 0 の場合、UTC のオフセットが 0 であるため、Qt::UTC がspec として使用される。
spec がQt::TimeZone の場合、代わりにQt::LocalTime が使用される。これは、現在のシステムタイムゾーンを使用するのと同じである(ただし、表現は異なる)。
fromSecsSinceEpoch()、toMSecsSinceEpoch()、setMSecsSinceEpoch()も参照のこと 。
[static]
QDateTime QDateTime::fromNSDate(const NSDate *date)
NSDatedate のコピーを含む新しいQDateTime を構築する。
toNSDate()も参照 。
[static]
QDateTime QDateTime::fromSecsSinceEpoch(qint64 secs, const QTimeZone &timeZone)
timeZone で指定された1970年のUTC開始時刻から、指定された秒数secs を経過した時刻を表すdatetimeを返します。デフォルトの時刻表現はローカルタイムです。
secs QDateTime の有効範囲外には、負の値も正の値もあることに注意。これらの値に対するこの関数の動作は未定義である。
fromMSecsSinceEpoch()、toSecsSinceEpoch()、setSecsSinceEpoch()も参照 。
[static]
QDateTime QDateTime::fromSecsSinceEpoch(qint64 secs)
これはオーバーロードされた関数である。
[static, until 6.9]
QDateTime QDateTime::fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spec, int offsetSeconds = 0)
この関数はバージョン6.9で廃止予定です。
これはオーバーロードされた関数です。
代わりにQTimeZone を渡すか、spec とoffsetSeconds を省略します。
spec とoffsetSeconds で指定された1970年のUTCにおける開始時刻から、指定された秒数secs 後を表すdatetimeを返します。
secs には、QDateTime の有効範囲外の値(負の値も正の値も)があり得ることに注意。これらの値に対するこの関数の動作は未定義である。
spec がQt::OffsetFromUTC でない場合、offsetSeconds は無視される。spec がQt::OffsetFromUTC でoffsetSeconds が 0 の場合、UTC のオフセットが 0 であるため、Qt::UTC がspec として使用される。
spec がQt::TimeZone の場合、代わりにQt::LocalTime が使用される。これは、現在のシステムタイムゾーンを使用するのと同じである(ただし、表現は異なる)。
fromMSecsSinceEpoch()、toSecsSinceEpoch()、setSecsSinceEpoch()も参照のこと 。
[static, since 6.4]
QDateTime QDateTime::fromStdLocalTime(const std::chrono::local_time<std::chrono::milliseconds> &time)
日時がtime で表されるミリ秒数で、現地時間(Qt::LocalTime )で 1970-01-01T00:00:00.000 からカウントされる datetime を構築します。
注: この関数は C++20 を必要とします。
この関数は Qt 6.4 で導入されました。
toStdSysMilliseconds() およびfromMSecsSinceEpoch()も参照してください 。
[static, since 6.4]
QDateTime QDateTime::fromStdTimePoint(const std::chrono::local_time<std::chrono::milliseconds> &time)
日時がtime で表されるミリ秒数で、現地時間(Qt::LocalTime )で 1970-01-01T00:00:00.000 からカウントされる datetime を構築します。
注: この関数は C++20 を必要とします。
この関数は Qt 6.4 で導入されました。
toStdSysMilliseconds() およびfromMSecsSinceEpoch()も参照してください 。
[static, since 6.4]
template <typename Clock, typename Duration> QDateTime QDateTime::fromStdTimePoint(const std::chrono::time_point<Clock, Duration> &time)
Qt::UTC を時間表現として使用し、time と同じ時点を表す datetime を構築する。
time の時計はstd::chrono::system_clock
と互換性がなければならない。特に、std::chrono::clock_cast
がサポートする変換が存在しなければならない。変換後、結果の継続時間型はstd::chrono::milliseconds
に変換可能でなければならない。
そうでない場合、呼び出し元は、この関数への入力が上記の制約を満たすように、std::chrono::system_clock
に対する必要なクロック変換と、継続時間型(cast/round/floor/ceil/...)の必要な変換を行わなければならない。
注: この関数は C++20 を必要とします。
この関数は Qt 6.4 で導入されました。
toStdSysMilliseconds() およびfromMSecsSinceEpoch()も参照してください 。
[static, since 6.4]
QDateTime QDateTime::fromStdTimePoint(std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds> time)
これはオーバーロードされた関数である。
Qt::UTC を時間表現として使用して、time と同じ時点を表す datetime を構築します。
この関数は Qt 6.4 で導入されました。
[static, since 6.4]
QDateTime QDateTime::fromStdZonedTime(const int &time)
time と同じ時点を表す datetime を構築する。結果はtime のタイムゾーンで表されます。
注意: この関数は C++20 を必要とします。
この関数は Qt 6.4 で導入されました。
QTimeZone 、toStdSysMilliseconds()、fromMSecsSinceEpoch()も参照してください 。
[static]
QDateTime QDateTime::fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)
指定されたformat を使用して、string で表されるQDateTime を返すか、それが不可能な場合は無効な datetime を返す。
Qt::TextDate に対する注意 : 英語の短い月名 (例えば、短縮形の "Jan" や長い月名の "January") だけが認識される。
toString() およびQLocale::toDateTime()も参照の こと。
[static]
QDateTime QDateTime::fromString(const QString &string, const QString &format, int baseYear, QCalendar cal)
指定されたformat を使用して、string で表されるQDateTime を返します。文字列が解析できない場合は無効な datetime を返します。
暦が与えられていればcal を使用し、そうでなければグレゴリオ暦を使用する。
format 、西暦の下2桁のみを指定した場合、baseYear から始まる100年が最初に検討される候補となる。6.7より前にはbaseYear パラメータはなく、常に1900が使われていた。これはbaseYear のデフォルトであり、当時から1999年までの年号が選択される。場合によっては、与えられたすべてのフィールドと一致する結果を得るために、他のフィールドによって次の世紀や前の世紀が選択されることもある。詳細はQDate::fromString()を参照。
このメソッドでは、QDate::fromString() およびQTime::fromString() で日付と時刻の一部を表す書式文字列として認識される式に加えて、以下の式もサポートしています:
式 | 出力 |
---|---|
t | タイムゾーン (オフセット、名前、"Z" または "UTC" 接頭辞付きオフセット) |
tt | オフセット形式のタイムゾーンで、時間と分の間にコロンを含まないもの(例:"+0200") |
ttt | オフセット形式のタイムゾーンで、時と分の間にコロンを含むもの(例:"+02:00") |
tttt | タイムゾーン名(例:"Europe/Berlin")。認識される名前は、QTimeZone で既知のもので、使用するオペレーティング・システムによって異なる場合がある。 |
t'書式指定子がない場合、システムのローカルタイムゾーンが使用される。他のすべてのフィールドのデフォルトについては、QDate::fromString() とQTime::fromString() を参照のこと。
例えば
QDateTime dateTime = QDateTime::fromString("1.30.1", "M.d.s"); // dateTime is January 30 in 1900 at 00:00:01. dateTime = QDateTime::fromString("12", "yy"); // dateTime is January 1 in 1912 at 00:00:00.
その他の入力文字はすべてテキストとして扱われる。一重引用符で囲まれた、空でない文字列もテキストとして扱われ(引用符は 取り除かれ)、式としては解釈されない。
QTime time1 = QTime::fromString("131", "HHh"); // time1 is 13:00:00 QTime time1 = QTime::fromString("1apA", "1amAM"); // time1 is 01:00:00 QDateTime dateTime2 = QDateTime::fromString("M1d1y9800:01:02", "'M'M'd'd'y'yyhh:mm:ss"); // dateTime is 1 January 1998 00:01:02
書式を満たさない場合、無効なQDateTime 。フォーマットは満たしているが、string が無効な日時を表している場合(タイムゾーン遷移によってスキップされたギャップなど)、有効なQDateTime が返される。
先頭のゼロがない式(d、M、h、m、s、z)は、貪欲になります。つまり、2桁の数字(zの場合は3桁の数字)を使用し、それが範囲外であったり、他のセクションの数字が少なすぎたりしても、それを使用します。
これは1 January 00:30.00を意味する可能性もあるが、Mは2桁を使用する。
string のフィールドが正しく指定されていないと、無効なQDateTime が返される。ローカル時間の100年開始時点から9999年終了時点までの日付のみがサポートされる。他のタイムゾーン(特にUTCを含む)におけるこの範囲の両端付近の日付は、ローカルタイムゾーンによっては範囲外になる(つまり無効として扱われる)可能性があることに注意。
注意: 曜日名と月名、およびAM/PMインジケータは、英語(Cロケール)で指定しなければならない。ローカライズされた月日名やAM/PMを認識したい場合は、QLocale::system().toDateTime() を使用する。
注意: ある書式文字が、それを使用した上表の最長の表現よりも多く繰り返される場合、この書式の部分は、それらの間に区切り文字のない複数の表現として読み取られます。したがって、'tttttt'
は、"Europe/BerlinEurope/Berlin"
にマッチし、ゾーンをベルリン時間に設定する。もし、datetime文字列に "Europe/BerlinZ "が含まれていれば、"マッチ "するが、一貫性のない結果となり、無効なdatetimeとなる。
toString()、QDate::fromString()、QTime::fromString()、QLocale::toDateTime()も参照の こと。
[static, since 6.0]
QDateTime QDateTime::fromString(QStringView string, Qt::DateFormat format = Qt::TextDate)
これはオーバーロードされた関数です。
この関数は Qt 6.0 で導入されました。
[static, since 6.0]
QDateTime QDateTime::fromString(QStringView string, QStringView format, QCalendar cal)
これはオーバーロードされた関数です。
この関数は Qt 6.0 で導入されました。
[static, since 6.7]
QDateTime QDateTime::fromString(QStringView string, QStringView format, int baseYear = QLocale::DefaultTwoDigitBaseYear)
これはオーバーロードされた関数である。
デフォルトのQCalendar を使用します。
この関数は Qt 6.7 で導入されました。
[static, since 6.0]
QDateTime QDateTime::fromString(const QString &string, QStringView format, QCalendar cal)
これはオーバーロードされた関数です。
この関数は Qt 6.0 で導入されました。
[static, since 6.7]
QDateTime QDateTime::fromString(const QString &string, QStringView format, int baseYear = QLocale::DefaultTwoDigitBaseYear)
これはオーバーロードされた関数である。
デフォルトのQCalendar を使用します。
この関数は Qt 6.7 で導入されました。
[static]
QDateTime QDateTime::fromString(const QString &string, const QString &format, QCalendar cal)
これはオーバーロードされた関数である。
[static, since 6.7]
QDateTime QDateTime::fromString(const QString &string, const QString &format, int baseYear = QLocale::DefaultTwoDigitBaseYear)
これはオーバーロードされた関数である。
デフォルトのQCalendar を使用します。
この関数は Qt 6.7 で導入されました。
[static, since 6.7]
QDateTime QDateTime::fromString(QStringView string, QStringView format, int baseYear, QCalendar cal)
これはオーバーロードされた関数です。
この関数は Qt 6.7 で導入されました。
[static, since 6.0]
QDateTime QDateTime::fromString(const QString &string, QStringView format, int baseYear, QCalendar cal)
これはオーバーロードされた関数です。
この関数は Qt 6.0 で導入されました。
bool QDateTime::isDaylightTime() const
この日付が夏時間に該当するかどうかを返す。
Qt::TimeSpec がQt::LocalTime あるいはQt::TimeZone でない場合は、常に false を返します。
timeSpec()も参照 。
bool QDateTime::isNull() const
日付と時刻の両方がNULLの場合はtrue
を返し、そうでない場合はfalse
を返す。null の日時は無効である。
QDate::isNull()、QTime::isNull() およびisValid()も参照 。
bool QDateTime::isValid() const
このdatetimeが明確な瞬間を表している場合はtrue
を返し、そうでない場合はfalse
を返す。
datetimeは、その日付と時刻の両方が有効で、使用されている時間表現がそれらの組み合わせに有効な意味を与える場合に有効です。時間表現が特定のタイムゾーンまたはローカル時間である場合、夏時間の移行が1時間スキップするような(通常、春の夜間)、タイムゾーンが表現においてスキップする時間が日付上に存在する可能性がある。例えば、夏時間が午前2時に終了し、時計が午前3時に進んだ場合、その日の02:00:00から02:59:59.999までの日付は無効となる。
QDateTime::YearRange 、QDate::isValid ()、QTime::isValid ()も参照の こと。
qint64 QDateTime::msecsTo(const QDateTime &other) const
このdatetimeからother datetimeまでのミリ秒数を返します。other の日付がこの日付より早い場合、返される値は負の値となります。
比較を行う前に、2つの日付がQt::UTC に変換されます。これは、2つの日付の一方に夏時間が適用され、もう一方には適用されない場合に、結果が正しくなるようにするためです。
どちらかの日付が無効な場合は0を返す。
addMSecs()、daysTo()、QTime::msecsTo()も参照 。
int QDateTime::offsetFromUtc() const
この datetime の Offset From UTC を秒で返します。
結果はtimeSpec() に依存する:
Qt::UTC
オフセットは 0 です。Qt::OffsetFromUTC
オフセットは、最初に設定された値です。Qt::LocalTime
UTC からのローカル時刻のオフセットを返します。Qt::TimeZone
タイムゾーンで使用されているオフセットが返される。
最後の2つについては、サマータイム・オフセットを考慮した、この日時におけるオフセットが返される。オフセットは、指定したタイムゾーンの現地時間または時刻とUTC時刻との差である。UTCより前(本初子午線より東)のタイムゾーンでは正の値、UTCより後ろ(本初子午線より西)のタイムゾーンでは負の値となる。
setOffsetFromUtc()も参照 。
qint64 QDateTime::secsTo(const QDateTime &other) const
このdatetimeからother datetimeまでの秒数を返します。other の日付がこの日付より早い場合、返される値は負の値となります。
比較を行う前に、2つの日付がQt::UTC に変換されます。これは、2つの日付の一方に夏時間が適用され、もう一方に夏時間が適用されない場合に、結果が正しくなるようにするためです。
どちらかの日付が無効な場合は0を返します。
例
QDateTime今 QDateTime::currentDateTime();QDateTimexmas(QDate(now.date().year(), 12, 25).startOfDay());qDebug("There are %d seconds to Christmas", now.secsTo(xmas));
addSecs ()、daysTo ()、QTime::secsTo ()も参照のこと 。
void QDateTime::setDate(QDate date, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior)
この datetime の日付部分をdate に設定する。
時刻がまだ設定されていない場合は、真夜中に設定されます。date が無効な場合、このQDateTime は無効になる。
date とtime() が、このdatetimeの時間表現の遷移に近い瞬間を記述している場合、resolve は、その状況をどのように解決するかを制御します。
注意: Qt 6.7より前のバージョンでは、この関数にresolve パラメータがなかったため、遷移に関連する曖昧さを解決する方法がありませんでした。
date(),setTime(),setTimeZone()も参照してください 。
void QDateTime::setMSecsSinceEpoch(qint64 msecs)
1970年のUTC開始時刻から、指定されたミリ秒数(msecs )後の時刻を表すようにdatetimeを設定する。
タイムゾーンをサポートしていないシステムでは、この関数はローカル時間がQt::UTC であるかのように動作する。
qint64
(std::numeric_limits<qint64>::min()
) の最小値をmsecs に渡すと、未定義の動作になることに注意。
setSecsSinceEpoch()、toMSecsSinceEpoch()、fromMSecsSinceEpoch()も参照の こと。
[until 6.9]
void QDateTime::setOffsetFromUtc(int offsetSeconds)
この関数はバージョン6.9で廃止予定です。
代わりにsetTimeZone(QTimeZone::fromSecondsAheadOfUtc(offsetSeconds)) を使用してください。
timeSpec() をQt::OffsetFromUTC に、オフセットをoffsetSeconds に設定します。 datetime は、異なる時点を参照することができます。
オフセットの最大値と最小値は、正の14時間または負の14時間である。offsetSeconds がそれより大きいか小さい場合、結果は未定義となる。
offsetSeconds が 0 の場合、timeSpec() はQt::UTC に設定される。
setTimeZone()、isValid()、offsetFromUtc()、toOffsetFromUtc()も参照 。
void QDateTime::setSecsSinceEpoch(qint64 secs)
1970年のUTC開始時刻から指定された秒数(secs )後の時刻を表すようにdatetimeを設定する。
タイムゾーンをサポートしていないシステムでは、この関数は、ローカル時間がQt::UTC であるかのように動作する。
setMSecsSinceEpoch()、toSecsSinceEpoch()、fromSecsSinceEpoch()も参照 。
void QDateTime::setTime(QTime time, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior)
このdatetimeの時刻部分をtime に設定する。time が有効でない場合、この関数はそれを真夜中に設定する。したがって、デフォルトのQTime に設定することで、QDateTime で設定された時刻をクリアすることができます:
date() とtime が、このdatetimeの時間表現の遷移に近い瞬間を記述している場合、resolve は、その状況をどのように解決するかを制御します。
注意: Qt 6.7より前のバージョンでは、この関数にresolve パラメータがなかったため、遷移に関連する曖昧さを解決する方法がありませんでした。
time(),setDate(),setTimeZone()も参照してください 。
[until 6.9]
void QDateTime::setTimeSpec(Qt::TimeSpec spec)
この関数はバージョン6.9で廃止予定です。
代わりにsetTimeZone() を使用してください。
この datetime で使用される時間指定をspec に設定します。 datetime は、異なる時点を参照することができます。
spec がQt::OffsetFromUTC の場合、timeSpec() はQt::UTC に設定されます。
spec がQt::TimeZone の場合、spec はQt::LocalTime 、つまり現在のシステム・タイムゾーンに設定される。
例
QDateTimeローカル(QDateTime::currentDateTime());qDebug() << "Local time is:" << local; QDateTimeUTC(local); UTC.setTimeSpec(Qt::UTC);qDebug() << "UTC time is:" << UTC; qDebug() << "There are" << local.secsTo(UTC) << "seconds difference between the datetimes.";
setTimeZone ()、timeSpec ()、toTimeSpec ()、setDate ()、setTime ()も参照のこと 。
void QDateTime::setTimeZone(const QTimeZone &toZone, QDateTime::TransitionResolution resolve = TransitionResolution::LegacyBehavior)
このdatetimeで使用するタイムゾーンをtoZone に設定する。
datetimeは、異なる時点を参照することができる。これは、toZone の時間表現を使用するため、変更されていないdate() やtime() の意味が変わる可能性があります。
toZone が無効な場合、datetimeは無効となる。そうでない場合、呼 び出し後のこのdatetimeのtimeSpec()は、toZone.timeSpec()
に一致する。
date() とtime() が、toZone の遷移に近い瞬間を記述している場合、resolve は、その状況をどのように解決するかを制御します。
注意: Qt 6.7 より前のバージョンでは、この関数にはresolve パラメータがなく、遷移に関する曖昧さを解決する方法がありませんでした。
timeRepresentation(),timeZone(),Qt::TimeSpecも参照してください 。
[noexcept]
void QDateTime::swap(QDateTime &other)
この日付とother を入れ替える。この操作は非常に高速で、失敗することはない。
QTime QDateTime::time() const
datetime の時刻部分を返します。
setTime()、date() およびtimeRepresentation()も参照 。
[since 6.5]
QTimeZone QDateTime::timeRepresentation() const
このdatetimeがどのように時間を表現しているかを示すQTimeZone を返す。
返されたQTimeZone のtimeSpec() は、このdatetimeのそれと一致する。Qt::TimeZone でない場合、返されたQTimeZone は時間表現である。timeSpec() がQt::OffsetFromUTC の場合、返されるQTimeZone の fixedSecondsAheadOfUtc() がオフセットを提供する。timeSpec() がQt::TimeZone の場合、QTimeZone オブジェクト自体がそのタイムゾーンの完全な表現となります。
この関数はQt 6.5で導入されました。
timeZone(),setTimeZone(),QTimeZone::asBackendZone()も参照してください 。
Qt::TimeSpec QDateTime::timeSpec() const
datetimeの時刻指定を返します。
これは、その時間表現を、ローカル時間、UTC、UTCからの固定オフセット(オフセットは示さない)、タイムゾーン(タイムゾーンの詳細は示さない)のいずれかに分類します。timeRepresentation().timeSpec()
に相当する。
setTimeSpec()、timeRepresentation()、date()、time()も参照のこと 。
QTimeZone QDateTime::timeZone() const
datetimeのタイムゾーンを返す。
結果はtimeRepresentation().asBackendZone()
と同じである。すべての場合において、結果のtimeSpec() はQt::TimeZone である。
timeSpec() がQt::LocalTime の場合、結果はこのメソッドが呼び出された時点のローカル時間を表します。この結果は、取得元のQDateTime がシステム・タイムゾーンの変更を反映していたとしても、 その後の変更を反映したものではありません。
timeRepresentation()、setTimeZone()、Qt::TimeSpec 、QTimeZone::asBackendZone()も参照 。
QString QDateTime::timeZoneAbbreviation() const
この日付のタイムゾーン略語を返します。
返される文字列はtimeSpec() に依存する:
- Qt::UTC の場合は "UTC" となる。
- Qt::OffsetFromUTC の場合は、"UTC±00:00" の形式になります。
- Qt::LocalTime の場合、ホストシステムに問い合わせが行われる。
- Qt::TimeZone の場合、関連するQTimeZone オブジェクトが照会される。
注: 省略形は一意であることが保証されていない。つまり、異なるタイムゾーンが同じ省略形を持つ可能性がある。ホストシステムから返されるQt::LocalTime とQt::TimeZone では、省略形はローカライズされている可能性がある。
timeSpec() およびQTimeZone::abbreviation()も参照の こと。
CFDateRef QDateTime::toCFDate() const
QDateTime から CFDate を作成します。
呼び出し元は CFDate オブジェクトを所有し、それを解放する責任があります。
fromCFDate()も参照してください 。
QDateTime QDateTime::toLocalTime() const
datetimeをローカル時間に変換したコピーを返します。
この結果は、この datetime と同じ時刻を表します。
例
QDateTimeUTC(QDateTime::currentDateTimeUtc());QDateTimelocal(UTC.toLocalTime());qDebug() << "UTC time is:" << UTC; qDebug() << "Local time is:" << local; qDebug() << "No difference between times:" << UTC.secsTo(local);
toTimeZone ()、toUTC ()、toOffsetFromUtc ()も参照のこと 。
qint64 QDateTime::toMSecsSinceEpoch() const
datetime関数は、1970年のUTC開始時刻からのミリ秒数を返します。
タイムゾーンをサポートしていないシステムでは、この関数はローカルタイムがQt::UTC であるかのように振る舞います。
このオブジェクトに格納されたdatetimeが有効でない場合、この関数の動作は未定義です。しかし、すべての有効な日付に対して、この関数は一意な値を返します。
toSecsSinceEpoch()、setMSecsSinceEpoch()、fromMSecsSinceEpoch()も参照 。
NSDate *QDateTime::toNSDate() const
QDateTime から NSDate を作成する。
NSDate オブジェクトは自動解放されます。
fromNSDate()も参照 。
QDateTime QDateTime::toOffsetFromUtc(int offsetSeconds) const
このdatetimeのコピーを、指定されたoffsetSeconds でQt::OffsetFromUTC の仕様に変換して返す。toTimeZone(QTimeZone::fromSecondsAheadOfUtc(offsetSeconds))
に相当する。
offsetSeconds が 0 の場合は UTC datetime が返されます。
この結果は、この datetime と同じ時刻を表し、それと等しくなります。
setOffsetFromUtc()、offsetFromUtc()、toTimeZone()も参照 。
qint64 QDateTime::toSecsSinceEpoch() const
datetime関数は、1970年のUTC開始からの秒数を返します。
タイムゾーンをサポートしていないシステムでは、この関数はローカルタイムがQt::UTC であるかのように振る舞います。
このオブジェクトに格納されている日付が有効でない場合、この関数の動作は未定義です。しかし、すべての有効な日付に対して、この関数は一意な値を返します。
toMSecsSinceEpoch()、fromSecsSinceEpoch()、setSecsSinceEpoch()も参照 。
[since 6.4]
std::chrono::sys_time<std::chrono::milliseconds> QDateTime::toStdSysMilliseconds() const
この datetime オブジェクトを、std::chrono::system_clock
をクロックとして使用して、ミリ秒単位で表される等価な時点に変換します。
注意: この関数は C++20 を必要とします。
この関数は Qt 6.4 で導入されました。
fromStdTimePoint() およびtoMSecsSinceEpoch()も参照してください 。
[since 6.4]
std::chrono::sys_seconds QDateTime::toStdSysSeconds() const
この datetime オブジェクトを、std::chrono::system_clock
を時計として使用する、秒単位で表される等価な時点に変換します。
注意: この関数には C++20 が必要です。
この関数は Qt 6.4 で導入されました。
fromStdTimePoint() およびtoSecsSinceEpoch()も参照してください 。
QString QDateTime::toString(QStringView format) const
これはオーバーロードされた関数である。
QString QDateTime::toString(Qt::DateFormat format = Qt::TextDate) const
これはオーバーロードされた関数である。
与えられたformat の文字列としてdatetimeを返す。
format がQt::TextDate の場合、文字列はデフォルトの方法でフォーマットされます。曜日と月の名前は英語になります。この書式の例は、"Wed May 20 03:40:13 1998 "です。ローカライズされた書式については、QLocale::toString()を参照のこと。
format がQt::ISODate の場合、文字列の書式は日付と時刻の表現に関する ISO 8601 拡張仕様に対応し、QDateTime のtimeSpec() に応じて、yyyy-MM-ddTHH:mm:ss[Z|±H:mm] の形式をとる。timeSpec() がQt::UTC の場合、文字列に Z が付加される。timeSpec() がQt::OffsetFromUTC の場合、文字列に UTC からの時分オフセットが付加される。ISO 8601の日付にミリ秒を含めるには、format Qt::ISODateWithMs 、yyyy-MM-ddTHH:mm:ss.zzz[Z|±HH:mm]に対応する。
format がQt::RFC2822Date の場合、文字列はRFC 2822に従ってフォーマットされる。
datetimeが無効な場合、空の文字列が返される。
警告: Qt::ISODate の書式は、0から9999の範囲の年に対してのみ有効である。
fromString()、QDate::toString()、QTime::toString()、QLocale::toString()も参照のこと 。
QString QDateTime::toString(const QString &format) const
これはオーバーロードされた関数である。
[until 6.9]
QDateTime QDateTime::toTimeSpec(Qt::TimeSpec spec) const
この関数はバージョン6.9で廃止予定です。
代わりにtoTimeZone() を使用してください。
このdatetimeを指定された時刻spec に変換したコピーを返します。
この結果は、この datetime と同じ時刻を表します。
spec がQt::OffsetFromUTC の場合、それはQt::UTC に設定されます。 UTC からの固定オフセットに設定するには、toTimeZone() またはtoOffsetFromUtc() を使用します。
spec がQt::TimeZone の場合、Qt::LocalTime 、つまりローカルのタイムゾーンに設定される。指定したタイムゾーンを設定するには、toTimeZone() を使用します。
例
QDateTimeローカル(QDateTime::currentDateTime());QDateTimeUTC(local.toTimeSpec(Qt::UTC));qDebug() << "Local time is:" << local; qDebug() << "UTC time is:" << UTC; qDebug() << "No difference between times:" << local.secsTo(UTC);
setTimeSpec ()、timeSpec ()、toTimeZone ()も参照のこと 。
QDateTime QDateTime::toTimeZone(const QTimeZone &timeZone) const
このdatetimeのコピーを、与えられたtimeZone に変換して返します。
この結果は、この datetime と同じ時刻を表し、等しくなります。
結果は、timeZone'の時間表現で、その瞬間を表します。例えば
QDateTimelocal(QDateTime::currentDateTime());QDateTimeUTC(local.toTimeSpec(QTimeZone::UTC));qDebug() << "Local time is:" << local; qDebug() << "UTC time is:" << UTC; qDebug() << "No difference between times represented:" << local.secsTo(UTC);
timeZone が無効な場合、datetimeは無効となる。そうでない場合、返されたdatetimeのtimeSpec() はtimeZone.timeSpec()
と一致する。
timeRepresentation()、toLocalTime()、toUTC()、toOffsetFromUtc()も参照 。
QDateTime QDateTime::toUTC() const
UTCに変換されたdatetimeのコピーを返す。
この結果は、この datetime と同じ時刻を表し、等しくなります。
例
QDateTimeローカル(QDateTime::currentDateTime());QDateTimeUTC(local.toUTC());qDebug() << "Local time is:" << local; qDebug() << "UTC time is:" << UTC; qDebug() << "No difference between times:" << local.secsTo(UTC);
toTimeZone ()、toLocalTime ()、toOffsetFromUtc ()も参照のこと 。
[since 6.4]
QDateTime &QDateTime::operator+=(std::chrono::milliseconds duration)
与えられたduration を追加して、このdatetimeオブジェクトを変更する。更新されたオブジェクトは、duration が正の場合は後になり、負の場合は前になります。
このdatetimeが無効な場合、この関数は何も行いません。
このdatetimeオブジェクトへの参照を返します。
この関数はQt 6.4で導入されました。
addMSecs()も参照してください 。
[since 6.4]
QDateTime &QDateTime::operator-=(std::chrono::milliseconds duration)
このdatetimeオブジェクトを、与えられたduration を引くことによって変更する。更新されたオブジェクトは、duration が正の場合は早くなり、負の場合は遅くなります。
このdatetimeが無効な場合、この関数は何も行いません。
このdatetimeオブジェクトへの参照を返します。
この関数はQt 6.4で導入されました。
addMSecsも参照してください 。
[noexcept]
QDateTime &QDateTime::operator=(const QDateTime &other)
other datetimeをこれにコピーし、このコピーを返す。
関連する非会員
[since 6.4]
QDateTime operator+(const QDateTime &dateTime, std::chrono::milliseconds duration)
[since 6.4]
QDateTime operator+(std::chrono::milliseconds duration, const QDateTime &dateTime)
dateTime (duration が負の場合はそれ以前)よりduration ミリ秒後の日時を含むQDateTime オブジェクトを返す。
dateTime が無効な場合は、無効な datetime が返されます。
この関数は Qt 6.4 で導入されました。
addMSecs()も参照してください 。
[noexcept]
bool operator!=(const QDateTime &lhs, const QDateTime &rhs)
lhs がrhs と異なる場合はtrue
を返し、そうでない場合はfalse
を返す。
異なる時間表現を使用する2つのdatetimeは、UTCからのオフセットが異なることがある。この場合、date()とtime()が異なっていても、その差がUTCオフセットの差と一致すれば、同等のものとして比較することができる。date()
とtime()
が一致する場合、UTCからのオフセットが大きい方が小さい(早い)。その結果、日付の順序は弱いものになる。
5.14以降、無効なデータタイムはすべて等価であり、有効なデータタイムよりも小さい。
operator==()も参照のこと 。
[since 6.4]
std::chrono::milliseconds operator-(const QDateTime &lhs, const QDateTime &rhs)
lhs とrhs の間のミリ秒数を返します。lhs がrhs より早い場合、結果は負になります。
どちらかのdatetimeが無効な場合は0を返します。
この関数は Qt 6.4 で導入されました。
msecsTo()も参照してください 。
[since 6.4]
QDateTime operator-(const QDateTime &dateTime, std::chrono::milliseconds duration)
dateTime よりもミリ秒早い(duration が負の場合は遅い)日時duration を含むQDateTime オブジェクトを返す。
dateTime が無効な場合は、無効な datetime が返されます。
この関数は Qt 6.4 で導入されました。
addMSecs()も参照してください 。
[noexcept]
bool operator<(const QDateTime &lhs, const QDateTime &rhs)
lhs がrhs よりも早ければtrue
を返し、そうでなければfalse
を返す。
異なる時間表現を使用する2つのdatetimeは、UTCからのオフセットが異なることがある。この場合、date()とtime()が異なっていても、その差がUTCオフセットの差と一致すれば、同等のものとして比較することができる。date()
とtime()
が一致する場合、UTCからのオフセットが大きい方が小さい(早い)。その結果、日付の順序は弱いものになる。
5.14以降、無効なデータタイムはすべて等価であり、有効なデータタイムよりも小さい。
operator==()も参照のこと 。
QDataStream &operator<<(QDataStream &out, const QDateTime &dateTime)
out ストリームにdateTime を書き込みます。
Qt データ型のシリアライズも参照してください 。
[noexcept]
bool operator<=(const QDateTime &lhs, const QDateTime &rhs)
lhs がrhs よりも早いか等しい場合はtrue
を返し、そうでない場合はfalse
を返す。
異なる時間表現を使用する2つの日付は、UTCからのオフセットが異なることがある。この場合、date()とtime()が異なっていても、その差がUTCオフセットの差と一致すれば、同等のものとして比較することができる。date()
とtime()
が一致する場合、UTCからのオフセットが大きい方が小さい(早い)。その結果、日付の順序は弱いものになる。
5.14以降、無効なデータタイムはすべて等価であり、有効なデータタイムよりも小さい。
operator==()も参照のこと 。
[noexcept]
bool operator==(const QDateTime &lhs, const QDateTime &rhs)
lhs がrhs と同じ時刻を表している場合はtrue
を返し、そうでない場合はfalse
を返す。
異なる時刻表現を使用する2つの日付は、UTCからのオフセットが異なることがある。この場合、date()とtime()が異なっていても、その差がUTCオフセットの差と一致すれば、同等のものとして比較することができる。date()
とtime()
が一致する場合、UTCからのオフセットが大きい方が小さい(早い)。その結果、日付の順序は弱いものになる。
5.14以降、無効なデータタイムはすべて等価であり、有効なデータタイムよりも小さい。
operator!=()、operator<()、operator<=()、operator>()、operator>=()も参照のこと 。
[noexcept]
bool operator>(const QDateTime &lhs, const QDateTime &rhs)
lhs がrhs よりも後の場合はtrue
を返し、それ以外の場合はfalse
を返す。
異なる時間表現を使用する2つのdatetimeは、UTCからのオフセットが異なることがある。この場合、date()とtime()が異なっていても、その差がUTCオフセットの差と一致すれば、同等のものとして比較することができる。date()
とtime()
が一致する場合、UTCからのオフセットが大きい方が小さい(早い)。その結果、日付の順序は弱いものになる。
5.14以降、無効なデータタイムはすべて等価であり、有効なデータタイムよりも小さい。
operator==()も参照のこと 。
[noexcept]
bool operator>=(const QDateTime &lhs, const QDateTime &rhs)
lhs がrhs より遅いか等しい場合はtrue
を返し、そうでない場合はfalse
を返す。
異なる時間表現を使用する2つの日付は、UTCからのオフセットが異なることがある。この場合、date()とtime()が異なっていても、その差がUTCオフセットの差と一致すれば、同等のものとして比較することができる。date()
とtime()
が一致する場合、UTCからのオフセットが大きい方が小さい(早い)。その結果、日付の順序は弱いものになる。
5.14以降、無効なデータタイムはすべて等価であり、有効なデータタイムよりも小さい。
operator==()も参照のこと 。
QDataStream &operator>>(QDataStream &in, QDateTime &dateTime)
ストリームin からdateTime に datetime を読み込みます。
Qt データ型のシリアライズ」も参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.