php日期操作技巧小結(jié)

字號:


    本文實例總結(jié)了php日期操作技巧。分享給大家供大家參考,具體如下:
    1、php將表單里面獲取的日期格式轉(zhuǎn)換成統(tǒng)一的格式
    2015-9-9 都統(tǒng)一轉(zhuǎn)換成 2015-09-09 這樣在數(shù)據(jù)庫都是統(tǒng)一的格式,方便以后查詢
    $year = "2015";
    $month = "9";
    $day = "09";
    var_dump(checkdate($month,$day, $year));//月和日帶有前導0都是符合格式的
    if(checkdate($month,$day, $year)===false){
      exit('error');
    };
    $unixtime = mktime(2,2,2,$month,$day,$year);//目的是交給php轉(zhuǎn)換成月和日都帶有前導0的格式統(tǒng)一的格式存儲在數(shù)據(jù)庫方便以后查詢
    var_dump(date("Y-m-d",$unixtime));
    ////交給php轉(zhuǎn)換成時間戳,然后反轉(zhuǎn)回來
    2、獲取上一天的開始時間戳和結(jié)束時間戳
    本來思路是:
    先用date獲取當天的年月日。單獨獲取。得到年是2015月是9日是28然后減去1就可以了。但問題出來了。
    如果今天是1號呢。減去1就變成0了。上個月可能是28天,也可能是30天。
    這樣子,先得到上一天的時間戳。讓php自動去計算。
    strtotime("-1 day");
    //得到上一天的時間戳,現(xiàn)在是幾點就得到上一天這個時間點的時間戳,用這種方式好處是解決了上面問題,php會自動去計算上個月多少天
    ------------------------------------------------------------
    <?php
    header("Content-type:text/html;charset=utf-8");
    date_default_timezone_set("Asia/Shanghai");//設(shè)置時區(qū)
    $last_day = strtotime("-1 day");//得到上一天的時間戳,現(xiàn)在是幾點就得到上一天這個時間點的時間戳
    //通過時間戳得到年月日,以便mktime使用
    $year = date("Y",$last_day);
    $month = date("m",$last_day);
    $day = date("d",$last_day);
    $last_day_begin = mktime(0,0,0,$month,$day,$year);//昨天的一天開始的時間戳
    $last_day_end = mktime(23,59,59,$month,$day,$year);
    echo '昨天開始時間戳:';
    var_dump($last_day_begin);
    echo date('Y-m-d H:i:s',$last_day_begin);
    echo '<br />';
    echo '昨天結(jié)束時間戳:';
    var_dump($last_day_end);
    echo date('Y-m-d H:i:s',$last_day_end);
    echo '<br />';
    echo ($last_day_end-$last_day_begin)/(60*60);//恰好24個小時
    希望本文所述對大家PHP程序設(shè)計有所幫助。