2014-12-17 2 views
0

Я учусь PHP, и я пытался получить две цифры представление года в из массива, возвращаемого функцией date_parse_from_format():date_parse_from_format() возвращает неправильный год

date_default_timezone_set('UTC'); 
$now = date('d.m.Y G:i:s'); 
$dateArray = date_parse_from_format("j.n.y H:iP", $now); 
echo $dateArray['year']; 

Когда я запускаю этот код , он печатает 2020 в браузере вместо 14, как я ожидаю. Пожалуйста, что мне не хватает в этом коде и как мне получить представление о двухзначном году?

ответ

2

Попробуйте

date_default_timezone_set('UTC'); 
$now = date('d.m.y G:i:s'); 
$dateArray = date_parse_from_format("j.n.Y H:iP", $now); 
echo $dateArray['year']; 
+0

Спасибо, Ананд, это работает, хотя я нахожу это забавным, поскольку [Руководство PHP] (http://php.net/manual/en/datetime.createfromformat.php) гласит, что формат 'Y' в датах возвращает даты с 4 цифры. –

+0

@ che-azeh: в верхнем регистре да, есть также строчные буквы 'y'. –

0

редактировать:

<?php 
date_default_timezone_set('UTC'); 
$now = date('d.m.y G:i:s'); 
$dateArray = date_parse_from_format("j.n.Y H:iP", $now); 
echo $dateArray['year']; 
?> 

date_parse_from_format() доступна только в PHP 5.3, Проверить этот вопрос, а также,

PHP date_parse_from_format() alternative in PHP 5.2

+0

Все еще возвращает 4 цифры, Сурабил. –

0

Try This

date_default_timezone_set('UTC'); 
$now = date('d.m.Y G:i:s'); 
$n = date ('j.n.y H:iP', strtotime($now)); //Convert to format you want 
$dateArray = date_parse_from_format("j.n.y H:iP", $n); 
echo '<pre>'; 
print_r($dateArray); 
echo '</pre>';` 
+0

Спасибо за ответ, Рана, но он по-прежнему возвращает год в 4 цифры. –

Смежные вопросы