Home > Article > Backend Development > Detailed explanation of data examples for querying the current day, querying this week, and querying this month using php and mysql
This article mainly introduces the details of data examples of querying the day, querying this week, and querying this month in PHP and MySQL. Interested friends can refer to it. I hope it will be helpful to everyone.
php, mysql query the current day, query this week, query this month's data instance (field is timestamp)
//其中 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 Get the start timestamp and end time of today, yesterday, last week, and this month
<?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
The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
JS implementationGetting timeAnd setting countdown code sharing
jqueryGetting timeMethod summary
The above is the detailed content of Detailed explanation of data examples for querying the current day, querying this week, and querying this month using php and mysql. For more information, please follow other related articles on the PHP Chinese website!