2013-11-19 9 views
0

У меня есть файл, который содержит даты в различных форматах, есть также некоторые строки в пределах содержания, например:Преобразование другой формат даты в PHP

5/10/2013, 
03-06-2013, 
4156200%, 
Friday, May 10, 2013 

Я хочу, чтобы иметь возможность проверить, если в данной строке это дата, затем укажите ее в формате: Month-Day-Year. В приведенном выше примере приведено 3 даты: 5/10/2013, 3-06-2013 и Friday, May 10, 2013 Мне нужна функция, которая получает эти строки и преобразует их в дату, с заранее заданным форматом.

Если строка не является допустимой датой, я хочу сохранить на своем месте тот же контент.

Ниже приведен пример того, что я считаю, что функция будет выглядеть следующим образом:

convert_date($st_val){ 
    $ret = ''; 

    if(isFomatDate($st_val)) { 
     $ret = fomatDate($st_val, mm-dd-yyyy); 
    } else { 
     $ret = $val_val; 
    } 
} 

Ожидаемый выход для этой функции должно быть что-то вроде:

// Entered string 
5/10/2013 
// Expected output 
05-10-2013 
// Entered string 
03-06-2013 
// Expected output 
03-06-2013 
// Entered string 
4156200% 
// Expected output 
4156200% 
// Entered String 
aaaa 
// Expected output 
aaaa 
// Entered string 
Friday, May 10, 2013 
// Expected output 
05-11-2013 

ответ

0

использования strtotime функции, если она не формат даты возвращает false. Если он вернет false, верните исходную строку.

$time = strtotime($string); 
if(!$time) 
{ 
    return $string; 
} 
return $time; 
0

Вы можете попробовать ниже функцию:

function dates_format($datesstr) 
{ 
$dates_str=strtotime($datesstr); 

if($dates_str!="") 
{ 
return date("d-m-Y"); 
} 
else 
{ 
return $datesstr; 
} 

} 

echo dates_format("12-10-2013"); 
0
function convert_date($st_val){ 
$ret = ''; 
$check = strtotime($st_val); 
if($check){ 
    $ret = date("m-d-Y",$check); 
}else{ 
    $ret = $st_val; 
} 
return $ret; 
} 

echo convert_date('5/10/2013')."<br>"; 
echo convert_date('03-06-2013')."<br>"; 
echo convert_date('4156200%')."<br>"; 
echo convert_date('aaaa')."<br>"; 
echo convert_date('Friday, May 11, 2013')."<br>"; 
Смежные вопросы