<nav id="camkq"><strong id="camkq"></strong></nav>
  • <xmp id="camkq"><menu id="camkq"></menu>
  • <nav id="camkq"></nav><nav id="camkq"></nav>

    php、mysql查詢當天,查詢本周,查詢本月的數據實例

    文章熱詞:php,mysql

    日期:2019-10-17 09:56 by admin 2747 0 收藏
    我要分享

    摘要:mysql查詢當天,查詢本周,查詢本月的數據實例(字段是時間戳)

    mysql查詢當天,查詢本周,查詢本月的數據實例(字段是時間戳)

    //其中?video?是表名;
    //createtime?是字段;
    //
    //數據庫time字段為時間戳
    //
    //查詢當天:
    ?
    $start?=?date('Y-m-d?00:00:00');
    $end?=?date('Y-m-d?H:i:s');
    SELECT?*?FROM?`table_name`?WHERE?`time`?>=?unix_timestamp(?'$start'?)?AND?`time`?<=?unix_timestamp(?'$end'?)
    ?
    //查詢本周:
    ?
    SELECT?yearweek(?'2011-04-17?15:38:22',1?)?//結果是201115
    SELECT?yearweek(?'2011-04-17?15:38:22'?)?//結果是201116
    //yearweek的第2個參數設置為1的原因是,中國人習慣把周1作為本周的第一天
    //另外補充下:
    //2011-04-17?是周日。
    SELECT?dayofweek(?'2011-04-17?15:38:22'?)//?查詢出的是1,把禮拜天作為一周的第一天。
    SELECT?dayofweek(?'2011-04-18?15:38:22'?)?//查詢出的是2
    SELECT?weekday(?'2011-04-17?15:38:22'?)//?查詢出的是6,
    SELECT?weekday(?'2011-04-18?15:38:22'?)//?查詢出的是0,
    //所以建議使用weekday,查詢出來的結果+1就可以了,就比較符合國人的習慣了。
    ?
    SELECT?*?FROM?`table_name`?WHERE?YEARWEEK(?FROM_UNIXTIME(?`time`,?'%Y-%m-%d?%H:%i:%s'?)?,1)?=?YEARWEEK(?now(?),1?)
    ?
    //查詢本月:
    ?
    $start?=?date('Y-m-01?00:00:00');
    $end?=?date('Y-m-d?H:i:s');
    SELECT?*?FROM?`table_name`?WHERE?`time`?>=?unix_timestamp('”.$start.”')?AND?`time`?<=?unix_timestamp('$end')
    ?
    //查詢本年:
    ?
    $start?=?date('Y-01-01?00:00:00');
    $end?=?date('Y-m-d?H:i:s');
    SELECT?*?FROM?`table_name`?WHERE?`time`?>=?unix_timestamp(?'$start'?)?AND?`time`?<=?unix_timestamp(?'$end'?)

    php 獲取今日、昨日、上周、本月的起始時間戳和結束時間

    <?php
    //<!--php?獲取今日、昨日、上周、本月的起始時間戳和結束時間戳的方法,主要使用到了?php?的時間函數?mktime()。-->
    ??
    ??
    //1、php獲取今日開始時間戳和結束時間戳?
    ??
    $beginToday?=?mktime(0,0,0,date('m'),date('d'),date('Y'));
    $endToday?=?mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
    ??
    echo?$beginToday.'---'.$endToday;
    echo?'<br/>';
    //2、php獲取昨日起始時間戳和結束時間戳
    ??
    $beginYesterday?=?mktime(0,0,0,date('m'),date('d')-1,date('Y'));
    $endYesterday?=?mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
    ??
    echo?$beginYesterday.'---'.$endYesterday;
    echo?'<br/>';
    //3、php獲取上周起始時間戳和結束時間戳
    ??
    $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
    $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
    ??
    echo?$beginLastweek.'---'.$endLastweek;
    echo?'<br/>';
    ??
    //4、php獲取本月起始時間戳和結束時間戳
    ??
    $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
    $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
    ??
    echo?$beginThismonth.'---'.$endThismonth;
    echo?'<br/>';
    ??
    ??
    //PHP?mktime()?函數用于返回一個日期的?Unix?時間戳。
    //語法:mktime(hour,minute,second,month,day,year,is_dst)
    //
    //參數????描述
    //hour????可選。規定小時。
    //minute????可選。規定分鐘。
    //second????可選。規定秒。
    //month????可選。規定用數字表示的月。
    //day????可選。規定天。
    //year????可選。規定年。在某些系統上,合法值介于?1901?-?2038?之間。不過在?PHP?5?中已經不存在這個限制了。
    //is_dst可選。如果時間在日光節約時間(DST)期間,則設置為1,否則設置為0,若未知,則設置為-1。
    //自?5.1.0?起,is_dst?參數被廢棄。因此應該使用新的時區處理特性。參數總是表示?GMT?日期,因此?is_dst?對結果沒有影響。
    //
    //參數可以從右到左依次空著,空著的參數會被設為相應的當前?GMT?值。
    ??
    echo(date("M-d-Y",mktime(0,0,0,12,36,2001)));
    ??
    //將輸出結果如:
    //
    //Jan-05-2002

    上一篇:PHP大文件切割上傳并帶上進度條功能

    下一篇:Discuz X3.4郵箱配置正確收不到郵件解決辦法


    評論