在PHP中日期不好

时间:2016-11-26 22:51:17

标签: php date format

我有这段代码:

$evt_start_date =  date("m/d/Y", strtotime($event_date_from));

其中: $ event_date_from = enero 15,2017 这种格式的日期是西班牙语。

函数strtotime不起作用,因为$ event_date_from的格式不正确。

因为你可以在传递给函数strtotime之前正确格式化这个变量$ event_Date_from。

如何转换日期" ENERO 15,2017"进入正确的格式,以便" srttotime"函数不会返回错误。

1 个答案:

答案 0 :(得分:1)

您可以使用PHP DateTime对象 - http://php.net/manual/en/datetime.createfromformat.php

您需要先使用英文名称替换月份名称,例如

$search = [
  'spanishJanuary',
  'spanishFebruary',
  'spanishMarch',
  // etc...
];

$replace = [
  'January',
  'February',
  'March',
  // etc...
];

$spanish_date_string = 'spanishMarch 15, 2017';

$date_string = str_replace($search, $replace, $spanish_date_string);

完成后,您可以像这样使用DateTime对象,

// $date_string now changed to "March 15, 2017"
$date = DateTime::createFromFormat('F j, Y', $date_string);
echo $date->format('m/d/Y');

这将导致

03/15/2017