PHP取前后任意时刻的时间戳和日期

来源:赵克立博客 分类: PHP 标签:PHP日期操作发布时间:2016-03-22 11:35:58最后更新:2023-01-04 14:08:47浏览:1979
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。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;
}

2212271672133408782330.png


微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python