я некоторые данные, которые отформатированы как: 04.09.1953PHP Преобразование даты между различными форматами
Я хочу, чтобы преобразовать этот формат: 1953-09-04
Есть ли способ или PHP функция сделай это?
я некоторые данные, которые отформатированы как: 04.09.1953PHP Преобразование даты между различными форматами
Я хочу, чтобы преобразовать этот формат: 1953-09-04
Есть ли способ или PHP функция сделай это?
просто использовать strtotime(), чтобы получить временную метку, а затем date() преобразовать эту метку времени в нужный вам формат:
$timestamp = strtotime("04.09.1953");
echo date("Y-m-d", $timestamp);
EDIT:
Если у вас возникли некоторые "экзотические" формат в качестве входных данных, возможно, потребуется использовать explode(), list() и mktime() построить временную метку самостоятельно:
list($y,$m,$d) = explode(".","04.09.1953");
$timestamp = mktime(0,0,0,$m,$d,$y);
echo date("Y-m-d", $timestamp);
Вы пробовали strtotime()? Это может сработать, иначе вам понадобится выполнить ручное преобразование с использованием подстрок или взрывов.
http://www.handyphp.com/index.php/PHP-Resources/Handy-PHP-Functions/reformat_date.html
function reformat_date($date, $format){
$output = date($format, strtotime($date));
return $output;
}
Если все, что вас интересует, это преобразование из одного «струнного» формата в другой, вы можете использовать regEx:
$ DMY = '04 .09.1953 ';
$ YMD = preg_replace ('/ (\ d \ d). (\ D \ d). (\ D {4,4}) /', '$ 3- $ 2- $ 1', $ DMY);
Вы хотите распечатать свою дату по-другому или преобразовать существующую? –