PHP和Mysql的Timestamp互換


   在mysql中有三種時間字段類型:DATETIME,DATE和TIMESTAMP。

    DATETIME以YYYY-MM-DD HH:MM:SS格式的字符串來保存數據;

    DATE則是只有年月日以YYYY-MM-DD形式的字串;

  TIMESTAMP類型和PHP中的TIMESTAMP類型名字一樣,但是兩者基本上是不同的。

  PHP是延用了UNIX時間簽的類型為一個整數,

  而在mysql中TIMESTAMP字段則是隨着記錄變化而一個自動更新為當時時間的DATETIMP字段。在mysql4.1版本之后TIMESTAMP格式DATETIME格式基本上是一致了。

  於是常常需要在php和msql中對兩種格式的Timestamp進行轉換。轉換方法總結一下:

    第一種方法:使用 date()和strtotime()函數

    $mysqltime=date('Y-m-d H:i:s',$phptime);

    $phptime=strtotime($mysqldate);

    第二種方法:在查詢語句中使用mysql函數轉換:UNIX_TIMESTAMP(DATETIME=>PHP TIMESTAMP)和FROM_UNIXTIME(PHP TIMESTAMP=>DATETIME).

    $sql="SELECT UNIX_TIMESTAMP(datetimefield) FROM table WHERE ...";

    $sql="UPDATE table set datetimefield=FROM_UNIXTIME($phptime) WHERE ..";

    第三種方法:就是mysql中使用整數字段來保存php的timestamp類型。


免責聲明!

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



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