PHP取前后任意时刻的时间戳和日期
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2023-01-04 14:08:47
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
今年有多少天
echo date('z',strtotime(date('Y-12-31')))+1;本月有多少天
echo date('t');取时间戳
时间加上一天一个小时一分钟
/**
*year(年),month(月),day (日) ,hour(小时),minute(分),second(秒)
*可以根据上面的样式添加对应的时间 正是加 负是减
**/
strtotime("+1 day +1 hour +1 minute")常用的取时间的方法
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." ".date('Y-m-d H:i:s',$beginToday)."\r\n";
echo $endToday." ".date('Y-m-d H:i:s',$endToday);
// 另一种方法
$beginToday= strtotime(date('Y-m-d'));
$endToday= $beginToday + 24 * 3600 - 1;
echo $beginToday." ".date('Y-m-d H:i:s',$beginToday)."\r\n";
echo $endToday." ".date('Y-m-d H:i:s',$endToday);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." ".date('Y-m-d H:i:s',$beginYesterday)."\r\n";
echo $endYesterday." ".date('Y-m-d H:i:s',$endYesterday);
// 另一种方法
$beginYesterday = strtotime(date('Y-m-d'))-3600*24;
$endYesterday = $beginYesterday + 24 * 3600 - 1;
echo $beginYesterday." ".date('Y-m-d H:i:s',$beginYesterday)."\r\n";
echo $endYesterday." ".date('Y-m-d H:i:s',$endYesterday);php获取本周起始时间戳和结束时间戳
$xingqi=date('w')?:7;
$beginThisweek=mktime(0,0,0,date('m'),date('d')-($xingqi-1),date('Y'));
$endThisweek=$beginThisweek+3600*24*7-1;
echo $beginThisweek." ".date('Y-m-d H:i:s',$beginThisweek)."\r\n";
echo $endThisweek." ".date('Y-m-d H:i:s',$endThisweek);php获取上周起始时间戳和结束时间戳
$xingqi=date('w')?date('w'):7;
$endLastweek=mktime(0,0,0,date('m'),date('d')-($xingqi-1),date('Y'));
$beginLastweek=($endLastweek--)-3600*24*7;
echo $beginLastweek." ".date('Y-m-d H:i:s',$beginLastweek)."\r\n";
echo $endLastweek." ".date('Y-m-d H:i:s',$endLastweek);php获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
echo $beginThismonth." ".date('Y-m-d H:i:s',$beginThismonth)."\r\n";
echo $endThismonth." ".date('Y-m-d H:i:s',$endThismonth);php获取任意月份起始时间戳和结束时间戳,下面取上个月的开始结束时间
$month=date('m')-1;
$month= $month ? $month : 12;
$beginmonth=mktime(0,0,0,$month,1,date('Y'));
$endmonth=mktime(0,0,0,$month+1,1,date('Y'))-1;
echo $beginmonth." ".date('Y-m-d H:i:s',$beginmonth)."\r\n";
echo $endmonth." ".date('Y-m-d H:i:s',$endmonth);英文描述时间戳
$dateList = [
'今天' => [
strtotime('today'),
strtotime('today 23:59:59'),
],
'明天' => [
strtotime('tomorrow'),
strtotime('tomorrow 23:59:59'),
],
'昨天' => [
strtotime('yesterday'),
strtotime('yesterday 23:59:59'),
],
'本周' => [
strtotime('this week 00:00:00'),
strtotime('next week 00:00:00 -1second'),
],
'下周' => [
strtotime('next week 00:00:00'),
strtotime('next week 00:00:00') + 3600 * 24 * 7 - 1,
],
'上周' => [
strtotime('last week 00:00:00'),
strtotime('this week 00:00:00 -1second'),
],
'最近三周' => [
strtotime('last week 00:00:00') - 3600 * 24 * 7,
strtotime('next week 00:00:00 -1second'),
],
'本月' => [
strtotime('first Day of this month 00:00:00'),
strtotime('last Day of this month 23:59:59'),
],
'上月' => [
strtotime('first Day of last month 00:00:00'),
strtotime('last Day of last month 23:59:59'),
],
'本年' => [
mktime(0, 0, 0, 1, 1, date('Y', time())),
mktime(23, 59, 59, 12, 31, date('Y', time())),
],
'上年' => [
mktime(0, 0, 0, 1, 1, date('Y', strtotime('-1year'))),
mktime(23, 59, 59, 12, 31, date('Y', strtotime('-1year'))),
],
];
foreach ($dateList as $name => $item) {
echo $name, ': ', date('Y-m-d H:i:s', $item[0]), ' -> ', date('Y-m-d H:i:s', $item[1]), PHP_EOL;
}