php 获取时间段 今天昨天本周上周本月上月本季度本年去年

本文介绍了一种使用PHP函数获取不同时间段开始和结束时间戳的方法,包括今天、昨天、前天、本周、上周、本月、上月、今年、去年及季度等。通过此方法,开发者可以轻松地获取各种时间段的时间戳,方便进行日期和时间相关的数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**获取时间段
 * @param $name
 * @param $param
 */
function gettimestamp($name = 'today',$param = ''){
    switch ($name){
        case 'today'://今天
            $timeamp['start'] = strtotime(date('Y-m-d'));
            $timeamp['end'] = strtotime(date('Y-m-d',strtotime('+1 day')));
            break;
        case 'yesterday'://昨天
            $timeamp['start'] = strtotime(date('Y-m-d',strtotime('-1 day')));
            $timeamp['end'] = strtotime(date('Y-m-d'));
            break;
        case 'beforyesterday'://前天
            $timeamp['start'] = strtotime(date('Y-m-d',strtotime('-2 day')));
            $timeamp['end'] = strtotime(date('Y-m-d',strtotime('-1 day')));
            break;
        case 'nowmonth'://本月
            $timeamp['start'] = strtotime(date('Y-m-01'));
            $timeamp['end'] = strtotime(date('Y-m-d',strtotime('+1 day')));
            break;
        case 'permonth'://上月
            $timeamp['start'] = strtotime(date('Y-m-01',strtotime('-1 month')));
            $timeamp['end'] = strtotime(date('Y-m-01'));
            break;
        case 'preweek'://上周 注意我们是从周一开始算
            $timeamp['start'] = strtotime(date('Y-m-d',strtotime('-2 week Monday')));
            $timeamp['end'] = strtotime(date('Y-m-d',strtotime('-1 week Monday +1 day')));
            break;
        case 'nowweek'://本周
            $timeamp['start'] = strtotime(date('Y-m-d',strtotime('-1 week Monday')));
            $timeamp['end'] = strtotime(date('Y-m-d',strtotime('+1 day')));
            break;
        case 'preday'://30
            $timeamp['start'] = strtotime(date('Y-m-d'),strtotime($param.' day'));
            $timeamp['end'] = strtotime(date('Y-m-d'));
            break;
        case 'nextday'://30
            $timeamp['start'] = strtotime(date('Y-m-d'));
            $timeamp['end'] = strtotime(date('Y-m-d'),strtotime($param.' day'));
            break;
        case 'preyear'://去年
            $timeamp['start'] = strtotime(date('Y-01-01',strtotime('-1 year')));
            $timeamp['end'] = strtotime(date('Y-12-31',strtotime('-1 year')));
            break;
        case 'nowyear'://今年
            $timeamp['start'] = strtotime(date('Y-01-01'));
            $timeamp['end'] = strtotime(date('Y-m-d',strtotime('+1 day')));
            break;
        case 'quarter'://季度
            $quarter = empty($param) ? ceil((date('n'))/3) : $param;//获取当前季度
            $timeamp['start'] = mktime(0, 0, 0,$quarter*3-2,1,date('Y'));
            $timeamp['end'] = mktime(0, 0, 0,$quarter*3+1,1,date('Y'));
//            $timeamp['end'] = mktime(23,59,59,$quarter*3,date('t',mktime(0, 0 , 0,$quarter*3,1,date("Y"))),date('Y'));
            break;
        default:
            $timeamp['start'] = strtotime(date('Y-m-d'));
            $timeamp['end'] = strtotime(date('Y-m-d',strtotime('+1 day')));
            break;
    }
    return $timeamp;
}

php 获取某个时间段

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值