Это, вероятно, нелегко, но я не вижу решения. У меня есть следующий код:
$begin = new DateTime('2016-03-14 00:00:00'); echo $begin->format('Ymd h:i:s');
Выход:
2016-03-14 12:00:00
Я попытался изменить таймшоны, установить часовой пояс, опустить его. Выход никогда не изменяется. Что дает? Я хочу, чтобы результат читался «2016-03-14 00:00:00».
Вам нужно использовать H
как есть, в течение 24 часов, а h
– 12 часов. 12:00:00 – 12:00 или 00:00:00:
$begin = new DateTime('2016-03-14 00:00:00'); echo $begin->format('Ymd H:i:s');
Должен быть
$begin = new DateTime('2016-03-14 00:00:00'); echo $begin->format('Ymd H:i:s');
h 12-часовой формат часа с ведущими нулями от 01 до 12
H 24-часовой формат часа с ведущими нулями от 00 до 23
h
для 12-часовых часов (AM / PM), поэтому в вашем шаблоне отсутствует A
или A
:
$begin = new DateTime('2016-03-14 00:00:00'); echo $begin->format('Ymd H:i:s a');
даст вам 2016-04-01 12:00:00 am
.
Если вам нужны полные 24-часовые часы, вам нужно вместо этого использовать H
:
$begin = new DateTime('2016-03-14 00:00:00'); echo $begin->format('Ymd H:i:s');
что даст ожидаемый 2016-04-01 00:00:00
.
Вот документация для поддерживаемых заполнителей, которую вы можете использовать с format()
.
Как уже было сказано, h
для 12-часового формата часов и H
для 24-часового формата часов. Изменив это письмо, ваша дата будет отформатирована по вашему желанию.
$begin = new DateTime('2016-03-14 00:00:00'); echo $begin->format('Ymd H:i:s');
Вот список форматов, который можно использовать для объекта DateTime в PHP ( Source )
Day of Month ____________ d | Numeric, with leading zeros 01–31 j | Numeric, without leading zeros 1–31 S | The English suffix for the day of the month st, nd or th in the 1st, 2nd or 15th. Weekday _______ l | Full name (lowercase 'L') Sunday – Saturday D | Three letter name Mon – Sun Month ______ m | Numeric, with leading zeros 01–12 n | Numeric, without leading zeros 1–12 F | Textual full January – December M | Textual three letters Jan - Dec Year ____ Y | Numeric, 4 digits Eg., 1999, 2003 y | Numeric, 2 digits Eg., 99, 03 Time ____ a | Lowercase am, pm A | Uppercase AM, PM g | Hour, 12-hour, without leading zeros 1–12 h | Hour, 12-hour, with leading zeros 01–12 G | Hour, 24-hour, without leading zeros 0-23 H | Hour, 24-hour, with leading zeros 00-23 i | Minutes, with leading zeros 00-59 s | Seconds, with leading zeros 00-59 T | Timezone abbreviation Eg., EST, MDT ... Full Date/Time c | ISO 8601 2004-02-12T15:19:21+00:00 r | RFC 2822 Thu, 21 Dec 2000 16:01:07 +0200