PHP Date Format возвращает неправильный суффикс ('S') - PullRequest
0 голосов
/ 08 января 2019

У меня есть метки времени Unix, такие как 1423389830 и 1511367992. Я использую простую функцию date(): date( 'M nS, Y', $timestamp );, и похоже, что она возвращает неправильную дату с соответствующим суффиксом - что выдает довольно глупые результаты.

Используя следующий пример кода:

printf( '[%s] [%s]', date( 'M nS, Y', 1423389830 ), date( 'M nS, Y', 1511367992 ) );

На 3 серверах: мой, PHPTester.net и OnlinePHPFucntions.com , результат

[Feb 2th, 2015] [Nov 11nd, 2017]

Сбрасывая эти временные метки в EpochConverter.com Я получаю и Sunday, February 8, 2015 2:03:50 AM GMT-08:00 и Wednesday, November 22, 2017 8:26:32 AM GMT-08:00 соответственно. Дата февраля - на 6 дней раньше, а ноябрь - на 11 дней раньше.

Вы можете увидеть пример здесь: http://sandbox.onlinephpfunctions.com/code/605415e0490af3e8e1dc3cf12ce9e1ec9ea2b3b6

1 Ответ

0 голосов
/ 08 января 2019

Итак, когда я написал этот вопрос, я понял, что день, который был выведен, был таким же, как номер месяца (февраль = 2-й месяц, ноябрь - 11-й месяц).

Это заставило меня оглянуться назад на мой формат даты, и я понял, что использовал неправильный формат ... n должно быть d или j: date( 'M jS, Y', $timestamp );.

Я подумал, что оставлю это для (довольно смущающего) потомства - и, надеюсь, помогу всем, кто увидит, что их суффикс PHP возвратился с юмором неправильным значением , проверьте их строку формата даты и убедитесь, что вы на самом деле используя соответствующий / желаемый формат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...