人性化时间显示
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);
}
}今日开始和结束的时间戳
$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); //本月一日减一天即是上月最后一日


