2013-07-26 3 views
0

Я построил ряд дат через петлю так:Форматирование вручную сконструированный даты в PHP

$months = array(); 
while($j<=12) 
{ 
    $months[] = '2013- .$j . '-01'; 
    $j++ 
} 

Это вторит именно так, как я хочу. Однако, когда я использую функцию date(F, $months[$j]), ее каждый раз появляется так, как и каждый январь. Это потому, что это не признанный формат даты? Как я могу это исправить?

+0

Я вижу, вы используете $ J Где $ я приходит от? $ i всегда 0, я верю? – JonathanRomer

ответ

1

использования www.php.net/strtotime

date('F',strtotime($months[$j]))

2

Вы наращиваете $j Где-то за пределами того, что вы скопировали здесь? В противном случае, есть ваш ответ.

$months = array(); 
$j = 1; 
While($j<=12) 
{ 
    $months[] = '2013-' .$j . '-01'; 
    $j++; 
} 

Кроме того, вы должны пройти, а не дату, а штамп времени:

date('F', strtotime($months[$j]))

Кроме того, вы можете уже принять во внимание, что $ J начинается с 0, но вы храните их внутри $months из индекса 0. Таким образом, вы бы изменить его на:

$months = array(); 
$j = 1; 
While($j<=12) 
{ 
    $months[$j] = '2013-' .$j . '-01'; 
    $j++; 
} 
+0

yeh, что коды из другого цикла. Я просто показывал, как я реализую функцию даты. –

+0

Позвольте мне изменить свой код, так как я на самом деле получил это в –

+0

@MattJameson. По возможности отправляйте реальный код - слишком много вопросов имеют нерелевантные ответы, потому что поддельный код был написан с ошибками, которые не применяются к фактическому коду OP – SmokeyPHP