這篇文章主要介紹了關於php mysql 處理時間,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
雖然mysql中有自己的時間類型,但是為了相容性考慮,php中一般用time函數取出unix時間戳。儲存到資料庫中。
1.unix時間戳記
PHP中的time函數回傳的就是unix timestamp,預設情況下PHP解析顯示位元格林威治標準時間。
是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數。
2.unix時間戳記轉化為人類識別日期
$str = date(“Y-m-d H:i:s”, time())得出的是格林威治时间,非中国时间。加上8小时即可。 $str = date(“Y-m-d H:i:s”, time()+8*3600)
將unix時間戳轉化為中國時間:
3.人類識別日期轉化為unix時間戳
$int = strtotime(“2014-11-8 08:12:24”);
4.資料庫類型
由於mysql資料庫的int範圍和unix時間戳類型一樣,所以直接crime int,即可。 create time用int表示。看有些sql檔案中顯示 crime int(11),這個括號中的11是mysql預設的顯示長度,而非資料大小的長度。
mysql中int預設為(-2 147 483 648,2 147 483 647),10位元可以滿足需求。
5.將目前時間寫入資料庫
$n = time(); $query = "insert into time_test values( $n )"; $ret = mysql_query($query, $con);
6.將資料庫時間顯示為中國時間
$query = "select ctime from time_test;"; $ret = mysql_query($query, $con); if(!$ret) { die("query error: " . mysql_error()); } while ( $arr = mysql_fetch_array($ret)) { //数据库中取出的是字符串,为保险起见,转换为int类型。 echo date("Y-m-d H:i:s", intval($arr["ctime"]) + 8*3600) . "<br>"; }
7927e6ce4c86253e35296f5e6f146552
################# #以上就是本篇文章的全部內容了,感謝大家閱讀。 ######相關推薦:#########php mysql實作登入註冊修改密碼網頁############php mysql jquery實作行事曆簽到功能的方法### ###以上是php+mysql 處理時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!