サンプル集  >  PHP  >  日付の計算A DateTime/diff
日付の計算A DateTime/diff
2023/07/31

DateTimeで日付を取得しdiffで差分を計算します。

◆環境
OS Windows 10 Home 21H2 (64bit)
PHP 8.0.12

DateDiffTest.php
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
<?php
    $strt = new DateTime('2023-01-01 00:00:00'
                        , new DateTimeZone('Asia/Tokyo')
                        );
    print_r($strt);

    $today = new DateTime('now'
                         ,new DateTimeZone('Asia/Tokyo')
                         );
    print_r($today);

    $df = $strt->diff($today);

    print_r($df);

    print($df->d."日 "
          .$df->h."時間 "
          .$df->i."分 "
          .$df->s."秒 "
          .$df->f." 経過\n"
    );  
?>

>php DateDiffTest.php
DateTime Object
(
    [date] => 2023-01-01 00:00:00.000000
    [timezone_type] => 3
    [timezone] => Asia/Tokyo
)
DateTime Object
(
    [date] => 2023-07-31 20:59:04.406688
    [timezone_type] => 3
    [timezone] => Asia/Tokyo
)
DateInterval Object
(
    [y] => 0
    [m] => 6
    [d] => 29
    [h] => 20
    [i] => 59
    [s] => 4
    [f] => 0.406688
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 0
    [days] => 211
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)
29日 20時間 59分 4秒 0.406688 経過

期待通りに動作しました。

▲ PageTop ■ Home


Copyright (C) 2023 ymlib.com