我的字符串格式为:“ dd / mm-yyyy”,其中dd是用两位数表示的月份中的月份,mm是用两位数表示的月份,而yyyy是用四位数字表示的年份。
我需要将其存储在数据库中。我试过了
$dato = date('d/m-Y' ,strtotime($_POST['dag'] )
但这显然行不通。在我的数据库中,日期显示为yyyy-mm-dd。如何将字符串正确转换为正确的格式?
strtotime不接受您的时间字符串格式,因此它返回false。您可以在此处使用DateTime::createFromFormat
或date_create_from_format
手动。
DateTime::createFromFormat('d/m-Y', $_POST['dag']);
查看现场演示
放放:
object(DateTime)#1 (3) { ["date"]=> string(26) "2017-01-11 14:34:53.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
...或`DateTime :: createFromFormat('d / m-Y',$ _POST ['dag'])-> format('Ym-d');`将其转换为数据库使用的格式。