日期在PHP

问题描述:

糟糕,我有这样的代码:日期在PHP

$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

你的问题是什么? – Carcigenicate

+0

嗨@Carcigenicate如何将日期“2017年1月15日”转换为正确的格式,以便“srttotime”函数不返回错误。 –

+1

请通过编辑将其添加到您的原始问题。 – Carcigenicate

可以使用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 
+0

在我的情况下没有工作,因为日期是西班牙文。例如:Enero 10,2016 –

+0

已经翻译过 – Steve