php时间戳转成带t格式,php将时间戳转换成⼏⼩时前的格式封
装
⽅法1:
/**
* 个性化⽇期显⽰
* @static
* @access public
* @param datetime $times ⽇期
* @return string 返回⼤致⽇期
* @example ⽰例 ueTime('')
*/
function ueTime($times) {
if ($times == '' || $times == 0) {
return false;
}
//完整时间戳
$strtotime = is_int($times) ? $times : strtotime($times);
$times_day = date('Y-m-d', $strtotime);
$times_day_strtotime = strtotime($times_day);
//今天
$nowdate_str = strtotime(date('Y-m-d'));
/
/精确的时间间隔(秒)
$interval = time() - $strtotime;
//今天的
if ($times_day_strtotime == $nowdate_str) {
//⼩于⼀分钟
if ($interval < 60) {
$pct = sprintf("%d秒前", $interval);
}
//⼩于1⼩时
elseif ($interval < 3600) {
$pct = sprintf("%d分钟前", ceil($interval / 60));
} else {
$pct = sprintf("%d⼩时前", floor($interval / 3600));
}
}
//昨天的
elseif ($times_day_strtotime == strtotime(date('Y-m-d', strtotime('-1 days')))) { $pct = '昨天' . date('H:i', $strtotime);
}
//前天的
elseif ($times_day_strtotime == strtotime(date('Y-m-d', strtotime('-2 days')))) { $pct = '前天' . date('H:i', $strtotime);
}
//⼀个⽉以内
elseif ($interval < (3600 * 24 * 30)) {
$pct = date('m⽉d⽇', $strtotime);
}
//⼀年以内
elseif ($interval < (3600 * 24 * 365)) {
$pct = date('m⽉d⽇', $strtotime);
}
//⼀年以上
else {
$pct = date('Y年m⽉d⽇', $strtotime);
}
return $pct;
}
⽅法2:
header("Content-type: text/html; charset=utf8");
date_default_timezone_set("Asia/Shanghai"); //设置时区
function time_tran($the_time) {
$now_time = date("Y-m-d H:i:s", time());
//echo $now_time;
$now_time = strtotime($now_time); $show_time = strtotime($the_time); $dur = $now_time - $show_time;
if ($dur < 0) {
return $the_time;
} else {
if ($dur < 60) {
return $dur . '秒前';
} else {
if ($dur < 3600) {
return floor($dur / 60) . '分钟前';
} else {
if ($dur < 86400) {
return floor($dur / 3600) . '⼩时前';
} else {
if ($dur < 259200) {//3天内
return floor($dur / 86400) . '天前';
} else {
return $the_time;
}
}
}
}
}
}
echo time_tran("2014-7-8 19:22:01"); >
⽅法3:
function wordTime($time) {
$time = (int) substr($time, 0, 10);
$int = time() - $time;
$str = '';
if ($int <= 2){
$str = sprintf('刚刚', $int);
}elseif ($int < 60){
$str = sprintf('%d秒前', $int);
}elseif ($int < 3600){
$str = sprintf('%d分钟前', floor($int / 60));
}elseif ($int < 86400){
$str = sprintf('%d⼩时前', floor($int / 3600)); }elseif ($int < 2592000){
$str = sprintf('%d天前', floor($int / 86400)); }else{
$str = date('Y-m-d H:i:s', $time);unix时间戳转换日期格式
}
return $str;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论