PHP中有很多和日期時間相關的函數,而MySQL中也有相應的日期時間類型。如何在PHP中和MySQL中存儲和顯示日期時間呢?下面就來介紹一下PHP和MySQL中的日期時間類型和操作方法。
首先來看PHP中的日期時間函數,比如date()函數,可以格式化一個日期并輸出,如下:
echo date('Y-m-d H:i:s'); //輸出當前日期時間,格式為:年-月-日 時:分:秒
這部分代碼將輸出當前的日期時間,格式為年-月-日 時:分:秒。也可以通過strtotime函數將一個字符串轉換成時間戳,如下:
$timestamp = strtotime('2018-08-08 08:08:08'); //將一個字符串轉換成時間戳 echo date('Y-m-d H:i:s', $timestamp); //輸出轉換后的日期時間
這部分代碼將字符串'2018-08-08 08:08:08'轉換成時間戳,并輸出轉換后的日期時間。
接下來看一下MySQL中的日期時間類型。MySQL有3種日期時間類型:DATE、TIME和DATETIME。DATE只存儲年月日,TIME只存儲時分秒,而DATETIME同時存儲年月日和時分秒。比如可以使用下面的代碼創建一個DATETIME類型的字段:
CREATE TABLE `test` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL COMMENT '創建時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='測試表';
以上代碼定義了一個名為test的表,其中包含了一個自增主鍵id和一個名為create_time的DATETIME類型的字段。
在使用PHP進行MySQL操作時,需要使用相應的日期時間類型和格式。比如可以使用NOW()函數來插入當前日期時間,如下:
INSERT INTO `test` (`create_time`) VALUES (NOW()); //插入當前日期時間
這部分代碼將當前日期時間插入到create_time字段中。
當需要查詢某個范圍內的數據時,可以使用BETWEEN和DATE函數。比如要查詢2018年8月的數據,可以使用如下代碼:
SELECT * FROM `test` WHERE `create_time` BETWEEN '2018-08-01 00:00:00' AND '2018-08-31 23:59:59';
這部分代碼查詢了create_time在'2018-08-01 00:00:00'和'2018-08-31 23:59:59'范圍內的數據。
以上就是PHP和MySQL中日期時間類型和操作的一些介紹。在對日期時間進行操作時,需要注意格式的統一和正確性,以便避免不必要的錯誤。