Как преобразовать массивы дат из базы данных в м / у формат?

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

Array(
[0] => 08/03/2017
[1] => 09/03/2017
[2] => 10/03/2017
[3] => 11/03/2017
[4] => 12/03/2017
)
Array(
[0] => 08/03/2017
[1] => 09/03/2017
[2] => 10/03/2017
[3] => 11/03/2017
[4] => 12/03/2017
[5] => 01/03/2018
)
Array(
[0] => 10/04/2017
[1] => 11/04/2017
[2] => 12/04/2017
[3] => 01/04/2018
)

Мне нужно преобразовать каждую дату этого массива в m/Y формат.


Мне нужно конвертировать m/d/Y отформатировать в m/Y формат, и мне также нужно сравнить его с текущей датой в m/Y формат.


while($row=mysql_fetch_array($result)){
$result_array[] =  ($row['start_date']);
$result_array1[] = $row['start_date'];
}

Есть ли способ изменить формат массива даты $result_array[ ] в m/Y?


Нужен вывод как этот формат (м / г)

Array(
[0] => 08/2017
[1] => 09/2017
[2] => 10/2017
[3] => 11/2017
[4] => 12/2017
)
Array(
[0] => 08/2017
[1] => 09/2017
[2] => 10/2017
[3] => 11/2017
[4] => 12/2017
[5] => 01/2018
)
Array(
[0] => 10/2017
[1] => 11/2017
[2] => 12/2017
[3] => 01/2018
)

0

Решение

Есть несколько способов справиться с этим с помощью php, но я советую подготовить ваши даты в части запроса SELECT.

Код: (демонстрация)

$array1=['08/03/2017','09/03/2017','10/03/2017','11/03/2017','12/03/2017'];
$array2=['08/03/2017','09/03/2017','10/03/2017','11/03/2017','12/03/2017','01/03/2018'];
$array3=['10/04/2017','11/04/2017','12/04/2017','01/04/2018'];

//string function technique:
foreach($array1 as $date){
$result1[]=substr_replace($date,'',3,3);  // replace {dd/} with an empty string
}
var_export($result1);

echo "\n\n";
// date function technique
foreach($array2 as $date){
$result2[]=date('m/Y',strtotime($date));
}
var_export($result2);

// mysql function technique *this is the best/cleanest way
$query="SELECT DATE_FORMAT(`date_fieldname`,'%m/%Y') FROM `your_tablename`";  // now prepared in resultset

echo "\n\n";
// make comparisons
$current_mo_year=date('m/Y');
foreach($array3 as $date){
$date=substr_replace($date,'',3,3);  // prepare however you like
echo "Comparison between $current_mo_year & $date: ",($date==$current_mo_year?'same':'different'),"\n";
}

Выход:

array (
0 => '08/2017',
1 => '09/2017',
2 => '10/2017',
3 => '11/2017',
4 => '12/2017',
)

array (
0 => '08/2017',
1 => '09/2017',
2 => '10/2017',
3 => '11/2017',
4 => '12/2017',
5 => '01/2018',
)

Comparison between 11/2017 & 10/2017: different
Comparison between 11/2017 & 11/2017: same
Comparison between 11/2017 & 12/2017: different
Comparison between 11/2017 & 01/2018: different
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector