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を返す)
時刻の有効性が確認できない。