在我的飛鳥慕魚博客里,用不少于三篇的博文來介紹過php獲取和處理時間的方法,那么今天再來水一篇關于在php的代碼編程中來獲取N天之前或N天之后的時間的方法。

php中想獲取n天之前或n天之后的時間,要用到 strtotime() 時間處理函數,關于 strtotime() 函數的用法,你可參考本博客的《PHP中strtotime()函數,將任意日期的字符串轉換成Unix時間戳》這篇文章

php 獲取N天之前的時間日期的方法

例1:php獲取7天之前的日期

代碼:

<?php
    //當前時間
    echo date('Y-m-d H:i:s');
    //七天之前的時期
    echo date("Y-m-d H:i:s",strtotime("-7 day"));
?>

輸出結果:

2019-11-07 23:15:40
2019-10-31 23:15:40

例2:自定義php獲取N之前的日期函數

函數代碼:

<?php
function get_before($d){
    return date("Y-m-d H:i:s",strtotime("- ".$d." day"));
}
?>

調用方法:

<?php
echo get_before(8);
?>

php 獲取N天之后時間日期的方法

例1:php獲取3天之后的時間日期

代碼:

<?php
//當前時間
    echo date('Y-m-d H:i:s');
    //3天之后的時期
    echo date("Y-m-d H:i:s",strtotime("3 day"));
?>

輸出結果:

2019-11-07 23:23:25
2019-11-10 23:23:25

例2:php獲取n天之后的時間日期的函數

函數代碼:

<?php
function get_later($d){
    return date("Y-m-d H:i:s",strtotime($d." day"));
}
?>

函數調用:

<?php
echo get_later(7);
?>

補充說明:

靈活的運用 php 的 strtotime(),還可以獲取當前時間的前N小時,后N小間,一周之前,一月之后等的時間日期。

例:

<?php
//一小時之前的時間
echo strtotime("-1 hours");
//五小時之后的時間
echo strtotime("+5 hours");
//一周之后的時間 
echo strtotime("+1 week");
//下周一的時間
echo strtotime("next Monday");
?>