Дата и время недели в PHP - PullRequest
1 голос
/ 20 февраля 2012

Я использую следующее:

$endtime = new DateTime(date('r', '1329717600'));
$endtime->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $endtime->format('w - l');

Должно быть выведено «1 - понедельник»;но вместо этого выводится «0 - воскресенье» ...

Как мне это исправить?

Ответы [ 3 ]

3 голосов
/ 20 февраля 2012

Попробуйте следующее:

$endtime = new DateTime(date('r', '1329717600'), new DateTimeZone('America/Los_Angeles'));
echo $endtime->format('w - l');

Комментарий документации PHP для функции setTimezone:

Значение метки времени, представленное объектом DateTime, равноне изменяется при установке часового пояса с помощью этого метода.Это влияет только на часовой пояс и, следовательно, на форматирование дисплея.

3 голосов
/ 20 февраля 2012

Это технически правильно - время / дата на этой отметке времени были бы в воскресенье в 22:00 в Лос-Анджелесе, в понедельник в 6:00 в UTC.

http://www.convert -unix-time.com /? Т = 1329717600

0 голосов
/ 20 февраля 2012
$endtime = new DateTime;
$endtime->createFromFormat('U', 1329717600, new DateTimeZone('America/Los_Angeles'));
echo $endtime->format('w - l');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...