Qtの基礎 - 日時
ナビゲーションに移動
検索に移動
概要
Qtにおいて、QDate
クラスまたはQTime
クラスを使用して、日付および時刻の有効性を確認する。
日付および時刻の有効性の確認
以下の例では、閏年の判定等も含めて、入力された日付および時刻の有効性を確認している。
- 日付
QDate
クラスのコンストラクタに年月日を代入して、isValid
メソッドで判定する。
- 時刻
QTime
クラスのコンストラクタに時分秒を代入して、isValid
メソッドで判定する。
// 日付
#include <QDate>
qDebug() << QDate(2019, 2, 28).isValid(); // true
qDebug() << QDate(2019, 2, 29).isValid(); // false(閏年ではないため)
qDebug() << QDate(2020, 2, 28).isValid(); // true
qDebug() << QDate(2020, 2, 29).isValid(); // true(閏年のため)
// 時刻
#include <QTime>
qDebug() << QTime(23, 59, 59).isValid(); // true
qDebug() << QTime(0, 0, 0).isValid(); // true
qDebug() << QTime(25, 0, 0).isValid(); // false
qDebug() << QTime(0, 60, 0).isValid(); // false
qDebug() << QTime(0, 0, 60).isValid(); // false
また、QDateTime
クラスというQDate
クラスとQTime
クラスの両方を取得するクラスもあるが、
"日付が正常かつ時刻が異常の場合、時刻を00:00:00にする仕様"のため、(その結果、QDateTime::isValid
メソッドはtrueを返す)
時刻の有効性が確認できない。