Как конвертировать дату из dd-mm-yy
в mm-dd-yy
ниже мой код
<? $date= date('dm-y'); echo date('md-Y',strtotime($date)); ?>
но результат: 09-10-2001
мне нужно 09-01-2010
Ты можешь сделать:
$input = 'dd-mm-yy'; $a = explode('-',$input); $result = $a[1].'-'.$a[0].'-'.$a[2];
Это не сработает:
date('md-y', strtotime($the_original_date));
Если у вас есть PHP 5.3, вы можете сделать:
$date = DateTime::createFromFormat('dm-y', '09-10-01'); $new_date = $date->format('md-Y');
В противном случае:
$parts = explode('-', $original_date); $new_date = $parts[1] . '-' . $parts[0] . '-' . $parts[2];
попробуйте эту date("mdy", {your date variable})
Если формат всегда как указано выше, это должно работать:
$pieces = explode("-", $yourTimestring); $timestamp = mktime(0,0,0,$pieces[1], $pieces[0], $pieces[2]); $newDateStr = date("mdy", $timestamp);
Правка: Верно, только что увидел ответ от «codaddict», и да, если бы я разделил его, вы могли бы также связать его напрямую ^^
Вы можете использовать функцию sscanf
если у вас нет доступного PHP 5.3 и используйте опцию обмена аргументами:
$theDate = '01-02-03'; print join(sscanf($theDate, '%2$2s-%1$2s-%3$2s'), '-'); # output: 02-01-03
sscanf
основном анализирует предоставленную строку в массиве на основе предоставленного формата, заменяя первый согласованный аргумент (день) вторым (месяц), оставляя третий (год) нетронутым, а затем этот массив снова объединяется с -
как разделитель.