PHP把時間轉換成幾秒前、幾分鐘前、幾小時前、幾天前
阿新 • • 發佈:2019-02-05
- 例項1:
- <?php
- 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 =
- if ($dur < 0) {
- return$the_time;
- } else {
- if ($dur < 60) {
- return$dur . '秒前';
- } else {
- if ($dur < 3600) {
- returnfloor($dur / 60) . '分鐘前';
- } else {
- if ($dur < 86400) {
- returnfloor($dur / 3600) . '小時前';
- } else {
- if ($dur < 259200) {//3天內
- returnfloor($dur / 86400) . '天前';
- } else {
- return$the_time;
- }
- }
- }
- }
- }
- }
- echo time_tran("2014-7-8 19:22:01");
- ?>
例項2:
- <?php
- function time_tranx($the_time){
- $now_time = date("Y-m-d H:i:s",time()+8*60*60);
- $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){
- returnfloor($dur/60).'分鐘前';
- }else{
- if($dur < 86400){
- returnfloor($dur/3600).'小時前';
- }else{
- if($dur < 259200){ //3天內
- returnfloor($dur/86400).'天前';
- }else{
- return$the_time;
- }
- }
- }
- }
- }
- }
- echo time_tranx("2014-7-8 19:22:01");
- ?>
- <?php
- function formatTime($date) {
- $str = '';
- $timer = strtotime($date);
- $diff = $_SERVER['REQUEST_TIME'] - $timer;
- $day = floor($diff / 86400);
- $free = $diff % 86400;
- if($day > 0) {
- return$day."天前";
- }else{
- if($free>0){
- $hour = floor($free / 3600);
- $free = $free % 3600;
- if($hour>0){
- return$hour."小時前";
- }else{
- if($free>0){
- $min = floor($free / 60);
- $free = $free % 60;
- if($min>0){
- return$min."分鐘前";
- }else{
- if($free>0){
- return$free."秒前";
- }else{
- return'剛剛';
- }
- }
- }else{
- return'剛剛';
- }
- }
- }else{
- return'剛剛';
- }
- }
- }
- echo formatTime("2014-7-8 19:22:01");
- ?>