PHP+Mysql日期時間如何轉換


 

寫過PHP+MySQL的程序員都知道有時間差,UNIX時間戳格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳存儲、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時間戳那么自如,所以有的時候需要互相轉換,下面給出互相轉換的幾種轉換方式。

一、在MySQL中完成

  這種方式在MySQL查詢語句中轉換,優點是不占用PHP解析器的解析時間,速度快,缺點是只能用在數據庫查詢中,有局限性。

1. UNIX時間戳轉換為日期用函數: FROM_UNIXTIME()

一般形式:select FROM_UNIXTIME(1156219870);

2. 日期轉換為UNIX時間戳用函數: UNIX_TIMESTAMP()

一般形式:Select UNIX_TIMESTAMP(’2006-11-04 12:23:00′); 

舉例:mysql查詢當天的記錄數:

$sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’) order by id desc”;

當然大家也可以選擇在PHP中進行轉換,下面說說在PHP中轉換。

二、在PHP中完成

  這種方式在PHP程序中完成轉換,優點是無論是不是數據庫中查詢獲得的數據都能轉換,轉換范圍不受限制,缺點是占用PHP解析器的解析時間,速度相對慢。

1. UNIX時間戳轉換為日期用函數: date()

一般形式:date('Y-m-d H:i:s', 1156219870);

2. 日期轉換為UNIX時間戳用函數:strtotime()

一般形式:strtotime('2010-03-24 08:15:42');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM