Я хочу разобрать дату 1938
1938+02:00
используя date()
& strtotime()
.False dateresult using date() php
Мой код:
echo date("Y", strtotime("1938+02:00"));
дает мне как результат "2014" ..
Что я делаю неправильно?
Я хочу разобрать дату 1938
1938+02:00
используя date()
& strtotime()
.False dateresult using date() php
Мой код:
echo date("Y", strtotime("1938+02:00"));
дает мне как результат "2014" ..
Что я делаю неправильно?
Для чего-то вроде этого просто получите первые четыре символа строки. Нет необходимости работать с датами и такие:
echo substr('1938+02:00', 0, 4);
Но если вы настаиваете на использовании функции даты вы должны будете использовать DateTime::createFromFormat()
как дата строка не является стандартным форматом.
$date = DateTime::createFromFormat('YP', '1938+02:00');
echo $date->format('Y');
Downvoter помочь объяснить? –
op хочет использовать дату() и strtotime(), я не уменьшал – Shubanker
Это хорошо, но нужно поощрять b рекламный код? –
date("Y");
возвращают только год. Это то, что делает Y
.
Для получения дополнительных сведений см. Страницу руководства для date.
EDIT
Другая вещь, чтобы рассмотреть, является то, что метки времени только вернуться к 1970. Это то, что временная метка (число секунд с 1970 года).
Итак, это даст вам отрицательное значение для метки времени.
Ваша строка даты не в приемлемом формате. here - список допустимых форматов для strtotime
Это правильно, но вы также должны показать, как работать с этим форматом даты. В противном случае этот ответ не очень полезен. –
Что такое '1938 + 02: 00'? 2 мая 1 января 1938 года? –