//今日开始和结束的时间戳
$start = mktime(0 0 0 date('m') date('d') date('Y'));
$end = mktime(23 59 59 date('m') date('d') date('Y'));
//昨日开始和结束的时间戳
$start = mktime(0 0 0 date('m') date('d') - 1 date('Y'));
$end = mktime(23 59 59 date('m') date('d') - 1 date('Y'));
//本周开始和结束的时间戳
$start = strtotime(date('Y-m-d' strtotime("this week Monday" time())));
$end = strtotime(date('Y-m-d' strtotime("this week Sunday" time()))) + 24 * 3600 - 1;
//上周开始和结束的时间戳
$start = strtotime(date('Y-m-d' strtotime("last week Monday" time())));
$end = strtotime(date('Y-m-d' strtotime("last week Sunday" time()))) + 24 * 3600 - 1; //本月开始和结束的时间戳
$start = mktime(0 0 0 date('m') 1 date('Y'));
$end = mktime(23 59 59 date('m') date('t') date('Y'));
//上个月开始和结束的时间戳
$start = mktime(0 0 0 date('m') - 1 1 date('Y'));
$end = mktime(23 59 59 date('m') - 1 date('t' $start) date('Y'));
//今年开始和结束的时间戳
$start = mktime(0 0 0 1 1 date('Y'));
$end = mktime(23 59 59 12 31 date('Y'));
//去年开始和结束的时间戳
$start = mktime(0 0 0 1 1 date('Y') - 1);
$end = mktime(23 59 59 12 31 date('Y') - 1);
//获取两个时间戳相差几天
function day_to_day($start$end){
$r = $end-$start;
if($r<0){
$day = -($r/86400);
$day = ceil($day);
}else{
$day = ceil($r/86400);
}
return $day;
}
//本周一
echo date('Y-m-d' (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)); //w为星期几的数字形式这里0为周日
//本周日
echo date('Y-m-d' (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600)); //同样使用w以现在与周日相关天数算
//上周一
echo date('Y-m-d' strtotime('-1 monday' time())); //无论今天几号-1 monday为上一个有效周未
//上周日
echo date('Y-m-d' strtotime('-1 sunday' time())); //上一个有效周日同样适用于其它星期
//本月一日
echo date('Y-m-d' strtotime(date('Y-m' time()) . '-01 00:00:00')); //直接以strtotime生成
//本月最后一日
echo date('Y-m-d' strtotime(date('Y-m' time()) . '-' . date('t' time()) . ' 00:00:00')); //t为当月天数28至31天
//上月一日
echo date('Y-m-d' strtotime('-1 month' strtotime(date('Y-m' time()) . '-01 00:00:00'))); //本月一日直接strtotime上减一个月
//上月最后一日
echo date('Y-m-d' strtotime(date('Y-m' time()) . '-01 00:00:00') - 86400); //本月一日减一天即是上月最后一日
//人性化时间显示
function formatTime($sTime $formt = 'Y-m-d') {
if (!$sTime) {
return '';
}
//sTime=源时间,cTime=当前时间,dTime=时间差
$cTime = time();
$dTime = $cTime - $sTime;
$dDay = intval(date('z'$cTime)) - intval(date('z'$sTime));
$dYear = intval(date('Y'$cTime)) - intval(date('Y'$sTime));
//n秒前,n分钟前,n小时前,日期
if ($dTime < 60 ) {
if ($dTime < 10) {
return '刚刚';
} else {
return intval(floor($dTime / 10) * 10).'秒前';
}
} elseif ($dTime < 3600 ) {
return intval($dTime/60).'分钟前';
} elseif( $dTime >= 3600 && $dDay == 0 ){
return intval($dTime/3600).'小时前';
} elseif( $dDay > 0 && $dDay<=7 ){
return intval($dDay).'天前';
} elseif( $dDay > 7 && $dDay <= 30 ){
return intval($dDay/7).'周前';
} elseif( $dDay > 30 ){
return intval($dDay/30).'个月前';
} elseif ($dYear==0) {
return date('m月d日' $sTime);
} else {
return date($formt $sTime); }
}。