簡體   English   中英

PHP將字符串日期和時間轉換為MySQL DateTime

[英]PHP Converting string date and time to MySQL DateTime

我有兩個文本字段,一個用於08/01/2012格式的日期,另一個字段包含時間。 我目前的時間字段格式為09:41 am,但我的格式有一些靈活性(例如24小時更容易)。

我打算只是連接字符串然后轉換。 我應該先將日期轉換為2012-08-01嗎?

我怎樣才能最終轉換到datetime(2012-08-01 09:41:00)? 如何將其轉換為08/01/2012和09:41 am格式?

SELECT STR_TO_DATE(concat('08/01/2012', '09:41am'),'%d/%m/%Y%h:%i');

在數據庫方面,您可以使用:

STR_TO_DATE()使用此表中的說明符轉換為數據庫友好格式。 參考

然后, DATE_FORMAT()將返回您想要該數據庫時間的任何部分。 參考

在PHP方面,您可以使用:

  • strtotime() - 將任何英文文本日期時間描述解析為Unix時間戳
  • date - 格式化本地時間/日期

strotime將根據傳遞給它的任何字符串日期/時間生成Unix時間戳。 如果你通過了兩個字段(08/01/2012和09:41 am),它將根據它生成一個時間戳。 要反轉該過程,請使用date("m/d/YH:ia")

$field1 = '08/01/2012';
$field2 = '09:41am';

$stamp = strtotime($field1 . ' ' . $field2);

echo date("m/d/Y H:ia", $stamp);

我沒有測試過這個,但它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM