Как преобразовать дату из дд-мм-гг в мм-дд-гг - PullRequest
6 голосов
/ 01 сентября 2010

Как конвертировать дату из dd-mm-yy в mm-dd-yy

ниже мой код

<?
$date= date('d-m-y');
echo date('m-d-Y',strtotime($date));
?>

но результат: 09-10-2001

Мне нужно 09-01-2010

Ответы [ 5 ]

8 голосов
/ 01 сентября 2010

Это не сработает:

date('m-d-y', strtotime($the_original_date));

Если у вас PHP 5.3, вы можете сделать:

$date = DateTime::createFromFormat('d-m-y', '09-10-01');
$new_date = $date->format('m-d-Y');

В противном случае:

$parts = explode('-', $original_date);
$new_date = $parts[1] . '-' . $parts[0] . '-' . $parts[2];
3 голосов
/ 01 сентября 2010

Вы можете сделать:

$input = 'dd-mm-yy';
$a = explode('-',$input);
$result = $a[1].'-'.$a[0].'-'.$a[2];                                      
0 голосов
/ 01 сентября 2010

Вы можете использовать функцию sscanf, если у вас нет PHP 5.3 и использовать опцию обмена аргументами:

$theDate = '01-02-03';
print join(sscanf($theDate, '%2$2s-%1$2s-%3$2s'), '-');
# output: 02-01-03

sscanf в основном анализирует предоставленную строкув массиве, основанном на предоставленном формате, поменяйте местами первый соответствующий аргумент (день) со вторым (месяц), оставив третий (год) без изменений, и затем этот массив снова объединится с - в качестве разделителя.1009 *

0 голосов
/ 01 сентября 2010

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

$pieces = explode("-", $yourTimestring);
$timestamp = mktime(0,0,0,$pieces[1], $pieces[0], $pieces[2]);
$newDateStr = date("m-d-y", $timestamp);

Редактировать: Правда, только что увидел ответ от "codaddict", и да, если я уже разделил его, вы также можете объединить его напрямую ^^

0 голосов
/ 01 сентября 2010

попробуйте date("m-d-y", {your date variable})

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