将String转换为日期(欧洲到美国)

Gar*_*vli 1 php format date date-conversion

我的字符串格式为:“ dd / mm-yyyy”,其中dd是用两位数表示的月份中的月份,mm是用两位数表示的月份,而yyyy是用四位数字表示的年份。

我需要将其存储在数据库中。我试过了

$dato = date('d/m-Y' ,strtotime($_POST['dag'] )
Run Code Online (Sandbox Code Playgroud)

但这显然行不通。在我的数据库中,日期显示为yyyy-mm-dd。如何将字符串正确转换为正确的格式?

Kri*_*ofe 5

strtotime不接受您的时间字符串格式,因此它返回false。您可以在此处使用DateTime::createFromFormatdate_create_from_format手动。

DateTime::createFromFormat('d/m-Y', $_POST['dag']);
Run Code Online (Sandbox Code Playgroud)

查看现场演示

<?php

var_dump(DateTime::createFromFormat('d/m-Y', '11/01-2017'));
Run Code Online (Sandbox Code Playgroud)

放放:

object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2017-01-11 14:34:53.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(3) "UTC"
}
Run Code Online (Sandbox Code Playgroud)

  • ...或`DateTime :: createFromFormat('d / m-Y',$ _POST ['dag'])-&gt; format('Ym-d');`将其转换为数据库使用的格式。 (2认同)