[英]php convert date to mysql format
我經歷了將php日期轉換為mysql格式的問題,但是仍然有一些問題和疑問,
在一般情況下,我的應用程序,可以在輸入日期Ymd
, dmy
, mdY
, jS
, FY
格式,甚至有'/'
分隔符。
我希望將此日期轉換為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.