国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP時間戳函數,幾分鐘、幾小時前、幾天前等

2024-09-04 11:45:30
字體:
來源:轉載
供稿:網友

時間戳是我們在時間日期對比時常用到一個小功能,下面我先來給各位介紹strtotime時間戳轉換的一些方法與利用它來做一個日期格式化的幾分鐘、幾小時前、幾天前的一個實例.

1.PHP時間戳函數將日期轉化為unix時間戳.

echo "時間戳為:".strtotime("2012-12-21")

2.將時間戳轉化為系統時間.

date('Y-m-d H:i:s',"1228348800");

3.PHP時間戳函數獲取英文文本日期時間 示例如下:

便于比較,使用date將當時間戳與指定時間戳轉換成系統時間.

(1)打印明天此時的時間戳strtotime(”+1 day”)

  1. //當前時間 
  2. echo date("Y-m-d H:i:s",time()); 
  3. //明天此時時間 
  4. echo date("Y-m-d H:i:s",strtotime("+1 day")); 

(2)打印昨天此時的時間戳strtotime(”-1 day”)

  1. //當前時間 
  2. echo date("Y-m-d H:i:s",time()) ; 
  3. //指定時間 
  4. echo date("Y-m-d H:i:s",strtotime("-1 day")); 

(3)打印下個星期此時的時間戳strtotime("+1 week")

  1. //當前時間 
  2. echo date("Y-m-d H:i:s",time()); 
  3. //下星期時間 
  4. echo date("Y-m-d H:i:s",strtotime("+1 week")); 

(4)打印上個星期此時的時間戳strtotime("-1 week")

  1. //當前時間 
  2. echo date("Y-m-d H:i:s",time()); 
  3. //上個星期此時時間 
  4. echo date("Y-m-d H:i:s",strtotime("-1 week")); 

(5)打印指定下星期幾的時間戳strtotime("next Thursday")

  1. //當前時間 
  2. echo date("Y-m-d H:i:s",time()); 
  3. //下星期幾時間 
  4. echo date("Y-m-d H:i:s",strtotime("next Thursday"));  

(6)打印指定上星期幾的時間戳strtotime(”last Thursday”)

  1. //當前時間 
  2. echo date("Y-m-d H:i:s",time()); 
  3. //指定時間 
  4. echo date("Y-m-d H:i:s",strtotime("last Thursday")); 

以上PHP時間戳函數示例可知,strtotime能將任何英文文本的日期時間描述解析為Unix時間戳,我們結合mktime()或date()格式化日期時間獲取指定的時間戳,實現所需要的日期時間.

話說看到別人寫的這么一個函數,測試了一下,有些小毛病,對于跨年日期,沒有顯示年份,修改如下.

  1. function mdate($time = NULL) { 
  2.     $text = ''
  3.     $time = $time === NULL || $time > time() ? time() : intval($time); 
  4.     $t = time() - $time//時間差 (秒) 
  5.     $y = date('Y'$time)-date('Y', time());//是否跨年 
  6.     switch($t){ 
  7.      case $t == 0: 
  8.        $text = '剛剛'
  9.        break
  10.      case $t < 60: 
  11.       $text = $t . '秒前'// 一分鐘內 
  12.       break
  13.      case $t < 60 * 60: 
  14.       $text = floor($t / 60) . '分鐘前'//一小時內 
  15.       break
  16.      case $t < 60 * 60 * 24: 
  17.       $text = floor($t / (60 * 60)) . '小時前'// 一天內 
  18.       break
  19.      case $t < 60 * 60 * 24 * 3: 
  20.       $text = floor($time/(60*60*24)) ==1 ?'昨天 ' . date('H:i'$time) : '前天 ' . date('H:i'$time) ; //昨天和前天 
  21.       break
  22.      case $t < 60 * 60 * 24 * 30: 
  23.       $text = date('m月d日 H:i'$time); //一個月內 
  24.       break
  25.      case $t < 60 * 60 * 24 * 365&&$y==0: 
  26.       $text = date('m月d日'$time); //一年內 
  27.       break
  28.      default
  29.       $text = date('Y年m月d日'$time); //一年以前 
  30.       break;  
  31.     } 
  32.          
  33.     return $text

ThinkPHP中:將寫好的函數放到 Common 文件夾下,系統會自動加載的,放到這個common.php頁里,common.php 固有格式,不要改名,模板中直接調用,代碼如下:

{$vo.time|mdate}

例2,簡單一些的代碼如下:

  1. function formatDate($sTime) { 
  2.  //sTime=源時間,cTime=當前時間,dTime=時間差 
  3.  $cTime  = time(); 
  4.  $dTime  = $cTime - $sTime
  5.  $dDay  = intval(date("Ymd",$cTime)) - intval(date("Ymd",$sTime)); 
  6.  $dYear  = intval(date("Y",$cTime)) - intval(date("Y",$sTime)); 
  7.  if$dTime < 60 ){ 
  8.   $dTime =  $dTime."秒前"
  9.  }elseif$dTime < 3600 ){ 
  10.   $dTime =  intval($dTime/60)."分鐘前"
  11.  }elseif$dTime >= 3600 && $dDay == 0  ){ 
  12.   $dTime =  "今天".date("H:i",$sTime); 
  13.  }elseif($dYear==0){ 
  14.   $dTime =  date("m-d H:i",$sTime); 
  15.  }else
  16.   $dTime =  date("Y-m-d H:i",$sTime); 
  17.  } 
  18.  return $dTime

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保山市| 铁力市| 巴彦淖尔市| 闵行区| 双辽市| 凤阳县| 泾川县| 庄浪县| 冀州市| 余江县| 峨山| 双桥区| 桃江县| 当雄县| 仁寿县| 南平市| 银川市| 乌拉特中旗| 乾安县| 泸西县| 海安县| 喀喇| 新建县| 武隆县| 略阳县| 贵阳市| 密山市| 镇原县| 呼伦贝尔市| 遵化市| 正安县| 湖北省| 大宁县| 大名县| 太湖县| 慈溪市| 平遥县| 屯留县| 秦皇岛市| 庄浪县| 开鲁县|