目錄
php格式化时间戳显示友好的时间实现思路及代码,php思路
跪PHP的时间转换为时间戳的代码
php date函数可以把时间戳格式化成2012-5-3
首頁 後端開發 php教程 php格式化时间戳显示友好的时间实现思路及代码,php思路_PHP教程

php格式化时间戳显示友好的时间实现思路及代码,php思路_PHP教程

Jul 13, 2016 am 10:16 AM
date函數 時間戳 格式化

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);
}
}
}
登入後複製

跪PHP的时间转换为时间戳的代码

有中文的情况。你要用正则把中文字符替换掉。因为那不是标准格式。

可以用以下代码处理。

$date ="2009年11月01日 15点12分"; //必须是标准双位日期
$date = ereg_replace("[^0-9]","",$date); //过滤非数字
$time = strtotime($date); //变量 $time 就是时间戳了

不过。如果你是使用当前时间的话。直接像下面这样写更快一点。
$time = time();
 

php date函数可以把时间戳格式化成2012-5-3

date('Y-n-j', time()); // time()函数生成当前时间的时间戳,可以把它换成你自己的时间戳

参考: cn2.php.net/manual/zh/function.date.php
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/898281.htmlTechArticlephp格式化时间戳显示友好的时间实现思路及代码,php思路 在项目中时间一律显示为2014-10-20 10:22显得很呆板。在微博、QQ空间等网站通常会显...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

dos指令怎麼格式化c盤 dos指令怎麼格式化c盤 Feb 19, 2024 pm 04:23 PM

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

Golang時間處理:如何在Golang中將時間戳轉換為字串 Golang時間處理:如何在Golang中將時間戳轉換為字串 Feb 24, 2024 pm 10:42 PM

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

手機格式化恢復方法大揭密(手機故障?別急) 手機格式化恢復方法大揭密(手機故障?別急) May 04, 2024 pm 06:01 PM

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

簡單有效的步驟來解決0x80070057錯誤 簡單有效的步驟來解決0x80070057錯誤 Dec 27, 2023 am 08:38 AM

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

格式化筆記型電腦會使其速度更快嗎? 格式化筆記型電腦會使其速度更快嗎? Feb 12, 2024 pm 11:54 PM

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

html格式化的方法有哪些 html格式化的方法有哪些 Mar 08, 2024 am 09:53 AM

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

如何在 Go 中使用正規表示式匹配時間戳記? 如何在 Go 中使用正規表示式匹配時間戳記? Jun 02, 2024 am 09:00 AM

在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函數檢查字串是否與正規表示式相符。

電腦格式化教程 電腦格式化教程 Jan 08, 2024 am 08:21 AM

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

See all articles