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; }