5

次の日付/日時があるとしましょう。午前 0 時 (時刻が 00:00:00) であることを確認するにはどうすればよいですか? 最初の 1 つは真夜中であってはなりませんが、次の 3 つは真夜中であるべきです。ありがとう

$d1=new DateTime('12/10/2012 05:33');
$d2=new DateTime('12/10/2012');
$d3=new DateTime('12/10/2012 00:00');
$d4=new DateTime('12/10/2012 00:00:00');
4

3 に答える 3

13

時間と分が両方ともゼロかどうかを確認します。

if( $date->format( 'H') == 0 && $date->format( 'i') == 0) {
    echo "Midnight!";
}
于 2013-01-24T17:52:18.040 に答える
0

関連する部分に 0 のみが含まれているかどうかは、正規表現または型変換で確認できます。

    $string = $dateTime->format('Hisu');

    $isMidnight = preg_match('/^0+$/usD', $string);
    $isMidnight = !(int) $string;

フォーマットで粒度を設定できるので、

  • Hisuマイクロ秒単位の精度で、
  • His秒単位の精度で、
  • Hi分単位の精度で、
  • H時間まで正確です。
于 2017-03-07T04:30:57.733 に答える