php格式化时间戳显示友好的时间实现思路及代码,php思路_PHP教程
php格式化时间戳显示友好的时间实现思路及代码,php思路
在项目中时间一律显示为2014-10-20 10:22显得很呆板。在微博、QQ空间等网站通常会显示为几秒前,几分钟前,几小时前等容易阅读的时间,我们称之为友好的时间格式。那么用php怎么实现呢?
大体思路如下:
如果是跨年并且大于3天就显示为具体的时间
如果是今天的
如果是一分钟内则显示几秒之前
如果是一小时内则显示几分钟前
如果是当天且大于一小时则显示为几小时前
如果是昨天则显示为昨天几点
如果是前天则显示为前天几点
如果大于三天(没有跨年)则显示为几月几号
根据以上思路就不难写出实现代码了:
实现代码如下:
//格式化友好显示时间 function formatTime($time){ $now=time(); $day=date('Y-m-d',$time); $today=date('Y-m-d'); $dayArr=explode('-',$day); $todayArr=explode('-',$today); //距离的天数,这种方法超过30天则不一定准确,但是30天内是准确的,因为一个月可能是30天也可能是31天 $days=($todayArr[0]-$dayArr[0])*365+(($todayArr[1]-$dayArr[1])*30)+($todayArr[2]-$dayArr[2]); //距离的秒数 $secs=$now-$time; if($todayArr[0]-$dayArr[0]>0 && $days>3){//跨年且超过3天 return date('Y-m-d',$time); }else{ if($days<1){//今天 if($secs<60)return $secs.'秒前'; elseif($secs<3600)return floor($secs/60)."分钟前"; else return floor($secs/3600)."小时前"; }else if($days<2){//昨天 $hour=date('h',$time); return "昨天".$hour.'点'; }elseif($days<3){//前天 $hour=date('h',$time); return "前天".$hour.'点'; }else{//三天前 return date('m月d号',$time); } } }
有中文的情况。你要用正则把中文字符替换掉。因为那不是标准格式。
可以用以下代码处理。
$date ="2009年11月01日 15点12分"; //必须是标准双位日期
$date = ereg_replace("[^0-9]","",$date); //过滤非数字
$time = strtotime($date); //变量 $time 就是时间戳了
不过。如果你是使用当前时间的话。直接像下面这样写更快一点。
$time = time();
date('Y-n-j', time()); // time()函数生成当前时间的时间戳,可以把它换成你自己的时间戳
参考: cn2.php.net/manual/zh/function.date.php

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DOS命令是Windows作業系統中使用的命令列工具,它可以用來執行各種系統管理任務和操作。其中一個常用的任務是格式化硬碟,包括C碟。格式化C碟是一個比較危險的操作,因為它將會清除C碟上的所有數據,並將檔案系統重新初始化。在執行這個操作之前,請確保你已經備份了重要的文件,並且清楚地了解格式化操作對你的電腦會產生的影響。下面是在DOS命令列中格式化

Golang時間轉換:如何將時間戳轉換為字串在Golang中,時間操作是非常常見的操作之一。有時候我們需要將時間戳記轉換為字串,以便於展示或儲存。本文將介紹如何使用Golang將時間戳轉換為字串,並提供具體的程式碼範例。 1.時間戳和字串的轉換在Golang中,時間戳通常是以整數數字的形式表示的,表示的是從1970年1月1日至當前時間的秒數。而字串則

現今,無法開機等,卡頓,我們難免會遇到一些問題,例如係統崩潰、但在使用過程中、手機已成為我們生活中不可或缺的一部分。我們往往束手無策、有時、對於這些問題的解決方法。幫助你解決手機故障,本文將為大家介紹一些手機格式化恢復的方法、讓手機重新恢復正常運作。備份資料-保護重要資訊安全通訊錄等,如照片、聯絡人、以免在格式化過程中遺失、在進行手機格式化之前、首先要考慮的是備份手機上的重要資料和檔案。確保資料的安全性、或選擇將檔案傳輸至雲端儲存服務中,可以透過連接電腦進行備份。使用系統自備恢復功能-簡

如何解決0x80070057錯誤:簡單有效的方法與步驟引言:在使用計算機的過程中,我們有時會遇到各種各樣的錯誤代碼。其中,0x80070057是一個非常常見的錯誤代碼,它通常與Windows作業系統相關。這個錯誤代碼可能出現在不同的情況下,例如在安裝或更新作業系統、備份或還原檔案以及格式化磁碟機時等。儘管這個錯誤代碼很令人沮喪,但它並不是無法解決的。本文將介

格式化筆記型電腦會使其速度更快嗎?如果您想格式化您的Windows筆記型電腦,但想知道它是否會使速度更快,本文將幫助您了解這個問題的正確答案。格式化筆記型電腦會使其速度更快嗎?使用者格式化Windows筆記型電腦的原因有很多。但最常見的原因是筆記型電腦的效能或速度緩慢。格式化筆記型電腦會徹底刪除C碟或安裝Windows作業系統的硬碟分割區上儲存的所有資料。因此,每個用戶在採取這一步驟之前都會三思而後行,尤其是在筆記型電腦的性能方面。本文將幫助您了解格式化筆記型電腦是否會加快速度。格式化筆記型電腦有助於

html格式化方法:1、使用線上HTML格式化工具;2、使用程式碼編輯器自帶的HTML格式化快速鍵,如Visual Studio Code中的Shift + Alt + F;3、使用插件,如Sublime Text中的HTML/CSS/JS Prettify插件;4、使用命令列工具,如HTML Tidy;5、手動格式化,依照編碼規格和習慣手動格式化。

在Go中,可以使用正規表示式比對時間戳記:編譯正規表示式字串,例如用於匹配ISO8601時間戳記的表達式:^\d{4}-\d{2}-\d{2}T \d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。使用regexp.MatchString函數檢查字串是否與正規表示式相符。

在使用電腦的時候很多時候都會遇到垃圾過多的情況,但是很多的用戶還不知道電腦怎麼格式化,沒關係,下面就給你們大家帶來了電腦格式化的教程一起看看吧。電腦怎麼格式化:1、右鍵點選桌面的「此電腦」點選「管理」。 2.在「電腦管理」中點選「儲存」開啟「磁碟管理」。 3、選擇自己要清理的硬碟右鍵選擇「格式化」。 4、勾選「執行快速格式化」並點選「確定」即可開始格式化。
