1.获得距离今天的某个时间段的开始时间和结束时间
复制代码
- function gettimestamp($targetTime){
- switch ($targetTime){
- case 'today'://今天
- $timeamp['start'] = strtotime(date('Y-m-d'));
- $timeamp['over'] = strtotime(date('Y-m-d',strtotime('+1 day')));
- break;
- case 'yesterday'://昨天
- $timeamp['start'] = strtotime(date('Y-m-d',strtotime('-1 day')));
- $timeamp['over'] = strtotime(date('Y-m-d'));
- break;
- case 'beforyesterday'://前天
- $timeamp['start'] = strtotime(date('Y-m-d',strtotime('-2 day')));
- $timeamp['over'] = strtotime(date('Y-m-d',strtotime('-1 day')));
- break;
- case 'beforweek'://本周
- $timeamp['start'] = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))));
- $timeamp['over'] = strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))));
- break;
- case 'nowmonth'://本月
- $timeamp['start'] = strtotime(date('Y-m-01'));
- $timeamp['over'] = strtotime(date('Y-m-d',strtotime('+1 day')));
- break;
- case 'permonth'://上月
- $timeamp['start'] = strtotime(date('Y-m-01',strtotime('-1 month')));
- $timeamp['over'] = strtotime(date('Y-m-01'));
- break;
- case 'preweek'://上周 注意我们是从周一开始算
- $timeamp['start'] = strtotime(date('Y-m-d',strtotime('-2 week Monday')));
- $timeamp['over'] = 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['over'] = strtotime(date('Y-m-d',strtotime('+1 day')));
- break;
-
- case 'nextday'://明天
- $timeamp['start'] = strtotime(date('Y-m-d'));
- $timeamp['over'] = strtotime(date('Y-m-d'),strtotime('+1 day'));
- break;
- case 'preyear'://去年
- $timeamp['start'] = strtotime(date('Y-01-01',strtotime('-1 year')));
- $timeamp['over'] = strtotime(date('Y-12-31',strtotime('-1 year')));
- break;
- case 'nowyear'://今年
- $timeamp['start'] = strtotime(date('Y-01-01'));
- $timeamp['over'] = strtotime(date('Y-m-d',strtotime('+1 day')));
- break;
- case 'quarter'://季度
- $quarter = ceil((date('m'))/3);
- $timeamp['start'] = mktime(0, 0, 0,$quarter*3-2,1,date('Y'));
- $timeamp['over'] = mktime(0, 0, 0,$quarter*3+1,1,date('Y'));
- break;
- default:
- $timeamp['start'] = strtotime(date('Y-m-d'));
- $timeamp['over'] = strtotime(date('Y-m-d',strtotime('+1 day')));
- break;
- }
- return $timeamp;
- }
2.获取某个时间为多久之前
复制代码
- function formatTime($timestamp) {
- $currentTime = time(); // 获取当前时间戳
- $timeDifference = $currentTime - $timestamp; // 计算差值
-
- if ($timeDifference < 60) {
- return "刚刚";
- } elseif ($timeDifference < 3600) {
- return floor($timeDifference / 60) . "分钟前";
- } elseif ($timeDifference < 86400) {
- return floor($timeDifference / 3600) . "小时前";
- } elseif ($timeDifference < 604800){
- return floor($timeDifference / 86400) . "天前";
- } else{
- return date('Y-m-d',$timestamp);
- }
- }
3.将秒数转换为H:i:s格式
复制代码
- function convertSecondsToTime($seconds) {
- $hours = floor($seconds / 3600); // 计算小时数
- $minutes = floor(($seconds % 3600) / 60); // 计算分钟数
- $remainingSeconds = $seconds % 60; // 计算剩余的秒数
- // 格式化输出
- $hours = str_pad($hours, 2, '0', STR_PAD_LEFT); // 使用前导零填充小时数
- $minutes = str_pad($minutes, 2, '0', STR_PAD_LEFT); // 使用前导零填充分钟数
- $remainingSeconds = str_pad($remainingSeconds, 2, '0', STR_PAD_LEFT); // 使用前导零填充剩余的秒数
- $timeString = $hours . ':' . $minutes . ':' . $remainingSeconds;
- return $timeString;
- }