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