2015-01-09 4 views
0

у меня есть имя переменной $mydate строка, которая означает 10 january 2014PHP, как преобразовать дату в строку в формате dd-mm-YYYY на дату в строке в формате YYYY-mm-dd?

$mydate="10-01-2014"; 

я хочу, чтобы преобразовать его в строковой переменной и быть «2014-01-10»

привет Half Crazed, я поставил Ур решение, как это:

foreach($report_data['summary'] as $key=>$row) { 

     $substrdate=substr($row['payment_type'],-16); //i have see the result is 10-01-2014 

     $originalDate = '10-01-2014'; 
     try { 
      $date = DateTime::createFromFormat('d-m-Y', $originalDate); 
      //echo $date->format('Y-m-d'); 
     } catch(Exception $e) { 
      die("Error converting date. Exception caught: " . $e->getMessage()); 
     } 



     $summary_data_row[] = array('data'=>'<span style="color:'.$color.'">'.$date->format('Y-m-d').'</span>', 'align'=>'right'); 
     $summary_data_row[] = array('data'=>'<span style="color:'.$color.'">'.$row['comment'].'</span>', 'align'=>'right'); 
    }//end of foreach 

он работает хорошо, пока я не заменить переменную $ originalDate с $ substrdate, который имеет то же значение -> '10 -01-2014' почему он стал не работать больше?

+0

'echo date ('Y-m-d')' aj mbak. Bs dipisah pake '-',' | ','/'dll. –

+0

Skrg kendala ny apa stlh pk '$ substrdate'? ga keluar atau formatnya salah? –

ответ

1

Используйте DateTime, чтобы прочитать его и преобразовать в новый формат.

$date = DateTime::createFromFormat('j F Y', '10 january 2014'); 
echo $date->format('Y-m-d'); 
0

Использование DateTime объекта PHP, вы можете использовать метод createFromFormat:

$date = DateTime::createFromFormat('m-d-Y', '10-01-2014');

Затем вы можете преобразовать его с помощью:

echo $date->format('Y-m-d');

Конечно, вы должны обернуть это все в trycatch блок:

$originalDate = '10-01-2014'; 
try { 
    $date = DateTime::createFromFormat('m-d-Y', $originalDate); 
    echo $date->format('Y-m-d'); 
} catch(Exception $e) { 
    die("Error converting date. Exception caught: " . $e->getMessage()); 
} 
+0

привет Half Crazed. спасибо за ответ. см. мой отредактированный пост выше .. – Devisy

Смежные вопросы