天天看點

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類型。

轉載于:https://www.cnblogs.com/BrightWilliam/archive/2012/05/10/2494478.html