• PHP strtotime():从字符串中提取时间日期

    PHP strtotime() 函数有两种用法:一种是将字符串形式的、用英文文本描述的日期时间解析为 UNIX 时间戳,一种是用来计算一些日期时间的间隔。

    从字符串中解析日期时间

    PHP strtotime() 函数可将英文文本描述的日期时间描述解析为 UNIX 时间戳,语法如下:

    int strtotime ( string $time [, int $now = time() ] )

    参数说明:

    • time 为字符串形式的日期时间;
    • now 规定用来计算返回值的时间戳。如果省略该参数,则使用当前时间。

    返回值:执行成功则返回时间戳,否则返回 false。

    strtotime() 函数的使用示例如下:

    <?php
    echo strtotime("now"), "<br />";
    echo strtotime("10 September 2000"), "<br />";
    echo strtotime("+1 day"), "<br />";
    echo strtotime("+1 week"), "<br />";
    echo strtotime("+1 week 2 days 4 hours 2 seconds"), "<br />";
    echo strtotime("next Thursday"), "<br />";
    echo strtotime("last Monday"), "<br />";
    ?>

    执行以上程序打印出来的结果类似:

    1572597225
    968515200
    1572683625
    1573202025
    1573389227
    1573056000
    1572192000

    日期的加减运算

    有时我们需要在一个日期上加减一定的时间间隔。可以使用 strtotime() 来计算一些日期时间间隔。示例如下:

    <?php
    $start = 'last Monday';
    $interval = strtotime("$start + 4 days");
    echo "现在\$interval 表示上周的" . date('l',$interval);
    ?>

    执行以上程序的输出结果为:

    现在 $interval 表示上周的 Friday。

    如果日期使用时间戳表示,并且时间间隔也可用秒来表示,就可以从时间戳中减去时间间隔。示例如下;

    <?php
    $start = time();
    echo date('Y-m-d',$start) , "<br />";
    $interval = 7 * 24 * 3600;  //一周
    $end = $start - $interval;
    echo date('Y-m-d',$end);
    ?>

    执行以上程序的输出结果为:

    2019-10-31
    2019-10-24

    前后两个日期正好相差 7 天。

更多...

加载中...