首页
IT
登录
6mi
u
盘
搜
搜 索
IT
php、mysql查询当天,查询本周,查询本月的数据(字段是时间戳)
php、mysql查询当天,查询本周,查询本月的数据(字段是时间戳)
xiaoxiao
2021-12-01
17
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
转载请注明原文地址: https://ju.6miu.com/read-679337.html
专利
最新回复
(
0
)