簡體   English   中英

PHP將日期轉換為MySQL格式

[英]php convert date to mysql format

我經歷了將php日期轉換為mysql格式的問題,但是仍然有一些問題和疑問,

在一般情況下,我的應用程序,可以在輸入日期YmddmymdYjSFY格式,甚至有'/'分隔符。

我希望將此日期轉換為MYSQL Ymd格式,我嘗試如下進行操作,但顯示的輸出與預期不同,

不工作

date_format(date_create_from_format('d-m-Y', '02-25-2016'), 'Y-m-d');

工作中

date_format(date_create_from_format('d-m-Y', '25-02-2016'), 'Y-m-d');

因此,似乎格式和字符串以相同的方式匹配,否則它無法正確解釋,

將上述4種格式的輸入轉換為mysql(Ymd)格式的最佳方法是什么?

謝謝先進,

我建議現在使用Carbon在PHP中進行任何日期處理。

通過解析字符串創建日期非常簡單...
http://carbon.nesbot.com/docs/#api-instantiation

以所需的格式獲取輸出也很簡單...
http://carbon.nesbot.com/docs/#api-formatting

我建議您使用此函數: DateTime :: createFromFormat

使用此功能,您需要通過指定特定格式來創建日期。

嘗試這個:

 $date = DateTime::createFromFormat('Y-m-d', '2016-05-26');
 echo $date->format('Y-m-d');
 echo "<hr/>";

 $date = DateTime::createFromFormat('d-m-Y', '26-05-2016');
 echo $date->format('Y-m-d');
 echo "<hr/>";

 $date = DateTime::createFromFormat('m-d-Y', '05-26-2016');
 echo $date->format('Y-m-d');
 echo "<hr/>";

 $date = DateTime::createFromFormat('jS F Y', '26th May 2016');
 echo $date->format('Y-m-d');

感謝所有建議,我想我已經找到了自己的邏輯,我的日期格式選擇存儲在sql db中,因此將嘗試如下操作,

date_format(date_create_from_format('format from db', 'user entered format'), 'Y-m-d');

由於用戶輸入的格式存儲在db中,因此我將在date_format函數中將其拉出,因此兩者都將匹配,並且我可以將其轉換為Ymd!

謝謝,

暫無
暫無

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

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