mysql获取当天,昨天,本周,本月,上周,上月的起始时间

-- 今天
select DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AS '今天开始';
select DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') AS '今天结束';

-- 昨天
select DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:00') AS '昨天开始';
select DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 23:59:59') AS '昨天结束';

-- 上周
select DATE_FORMAT( DATE_SUB( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 1 WEEK), '%Y-%m-%d 00:00:00') AS '上周一';
select DATE_FORMAT( SUBDATE(CURDATE(), WEEKDAY(CURDATE()) + 1), '%Y-%m-%d 23:59:59') AS '上周末';

-- 本周
-- select DATE_FORMAT( DATE_SUB(NOW(), INTERVAL WEEKDAY(NOW()) DAY), '%Y-%m-%d 00:00:00') AS '本周一';
-- select DATE_FORMAT( DATE_SUB(NOW(), INTERVAL WEEKDAY(NOW()) DAY), '%Y-%m-%d 23:59:59') AS '本周末';

-- 本周
select DATE_FORMAT( SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-1), '%Y-%m-%d 00:00:00') AS '本周一';
select DATE_FORMAT( SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-7), '%Y-%m-%d 23:59:59') AS '本周末';

-- 上月
select DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 00:00:00') AS '上月初';
select DATE_FORMAT( LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)), '%Y-%m-%d 23:59:59') AS '上月末';

-- 本月
select DATE_FORMAT( CURDATE(), '%Y-%m-01 00:00:00') AS '本月初';
select DATE_FORMAT( LAST_DAY(CURDATE()), '%Y-%m-%d 23:59:59') AS '本月末';

时间: 2024-09-23 21:41:03

mysql获取当天,昨天,本周,本月,上周,上月的起始时间的相关文章

php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)

php.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` <= uni

mysql查询当天,昨天,近7天,近30天,本月,上一月数据语句

话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下:  代码如下 复制代码 1 select * from `article` where date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d'); 或者:  代码如下 复制代码 1 select * from `art

mysql 获取当天发布的信息的语句_Mysql

复制代码 代码如下: SELECT * FROM `p8_memberdata` where regdate BETWEEN (UNIX_TIMESTAMP(NOW())-86440) AND NOW() SELECT * FROM `p8_memberdata` WHERE DATE_FORMAT(FROM_UNIXTIME(regdate),'%Y-%m-%d')= DATE_FORMAT(NOW(),'%Y-%m-%d') order by uid desc 第一条最好显示过去24小时过去

mysql 获取季度的第一天 本月的第一天,本周的第一天sql语句

本季度的第一天 ,然后你可以把字符串再转换为日期. 方法很多,包括同一个函数的别名(同义词)也很多.比如CURDATE(),CURRENT_DATE(), CURRENT_DATE, NOW 等都可以返回当天 mysql教程> select CURDATE(),ELT(QUARTER(CURDATE()),     ->  year(CURDATE())*1000+0101,     ->  year(CURDATE())*1000+0401,     ->  year(CURDA

php获取本周和上周的开始日期和结束日期

最近由于工作的需要使用php获取当前周以及上周的开始日期和结束日期.网上找了下,没有合适的,于是自己做了一下总结.具体内容和代码如下. <?php header('Content-type: text/html; charset=utf-8'); $date=date('Y-m-d'); //当前日期 $first=1; //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期 $w=date('w',strtotime($date)); //获取当前周的第几天 周日是 0 周一

php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法

php 获取今日.昨日.上周.本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime.下面首先还是直奔主题以示例说明如何使用 mktime 获取今日.昨日.上周.本月的起始时间戳和结束时间戳,然后在介绍一下 mktime 函数作用和用法.   //php获取今日开始时间戳和结束时间戳   $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));   $endToday=mktime(0,0,0,date('m')

mysql查询当天所有数据sql语句

  mysql查询当天的所有信息: 代码如下 select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) and day(regdate)=day(now()) 这个有一些繁琐,还有简单的写法: 代码如下 select * from table where date(regdate) = curdate(); 另一种写法没测试过 查询当天的记录 代码如下 select * from hb_a

MySQL获取系统当前时间的函数

环境:MySQL Server 5.1 问题:MySQL获取系统当前时间的函数 解决: NOW()函数以'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中. CURDATE()以'YYYY-MM-DD'的格式返回今天的日期,可以直接存到DATE字段中. CURTIME()以'HH:MM:SS'的格式返回当前的时间,可以直接存到TIME字段中. 示例: SQL: select now() as 当前日期时间; select curdate() as 今

MySQL获取系统性能和状态代码

使用MySQL获取系统性能和状态的代码片段,由此需求的朋友可以参考下,希望对大家有所帮助   复制代码 代码如下: #!/bin/ksh INTERVAL=5 PREFIX=$INTERVAL-sec-status touch /tmp/running RUNFILE=/tmp/running my -e 'show global variables' >> mysql-variables while test -e $RUNFILE; do file=$(date +%F_%I) sleep