преобразование даты php между различными форматами - PullRequest
1 голос
/ 10 января 2012

У меня есть некоторые данные, которые отформатированы как: 04.09.1953

Я хочу преобразовать этот формат в: 1953-09-04

Есть ли способ или функция php, чтобы сделать это?

Ответы [ 4 ]

2 голосов
/ 10 января 2012

просто используйте strtotime () , чтобы получить метку времени, а затем date () , чтобы преобразовать эту метку времени в нужный формат:

$timestamp = strtotime("04.09.1953");
echo date("Y-m-d", $timestamp);

РЕДАКТИРОВАТЬ:
Если в качестве входных данных используется какой-то «экзотический» формат, вам может потребоваться использовать 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);
0 голосов
/ 10 января 2012

Если все, что вас интересует, это преобразование из одного «строкового» формата в другой, вы можете использовать regEx:

$ DMY = '04 .09.1953 ';

$ YMD = preg_replace('/(\d\d).(\d\d) .(\dndom4,4 enj)/', '$ 3- $ 2- $ 1', $ DMY);

0 голосов
/ 10 января 2012

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;
}
0 голосов
/ 10 января 2012

Вы пробовали strtotime ()?Это может сработать, иначе вам потребуется выполнить ручное преобразование с использованием подстрок или разнесений.

http://php.net/strtotime

http://php.net/substring

http://php.net/explode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...