Какие функции PHP я могу использовать для выполнения операций с нецелыми временными метками? - PullRequest
1 голос
/ 01 мая 2010

Отказ от ответственности, я не программист PHP, поэтому вы можете найти этот вопрос тривиальным. Вот почему я вас спрашиваю!

У меня есть такая отметка времени: 2010-05-10T22: 00: 00 (Это Y-m-d)

Я хотел бы вычесть, скажем, 10 дней (или месяцев, что угодно) из этого, и чтобы мой результат был в том же формате, то есть 2010-04-30T22: 00: 00.

Какие функции мне нужно делать в PHP?

Примечание: я использую это для вычисления поля в Drupal. Результатом будет дата отправки электронного письма.

Бонусный вопрос: Если 2010-05-10T22: 00: 00 означает «10 мая 2010 г. в 22:00», существует ли метка времени, эквивалентная «10 мая 2010 г. (весь день)»?

Ответы [ 2 ]

2 голосов
/ 01 мая 2010

Вы должны использовать класс datetime: http://php.net/manual/en/book.datetime.php

DateTime Разница: http://www.php.net/manual/en/datetime.diff.php

ДатаВремя Вычитание: http://www.php.net/manual/en/datetime.sub.php

Бонусный ответ: Да, вы можете сделать это, вы должны преобразовать свою дату в метку времени, используя DateTime () дважды (1. Со временем 00:00:00 и со временем 23:59:59), когда вы сравниваете эту метку к вашей первоначальной (возможно, средней) отметке времени, и у вас есть ответ из результатов сравнения.

0 голосов
/ 01 мая 2010

Чтобы разрешить любые операции со значением даты, сначала необходимо создать объект DateTime. В PHP 5.3 и более поздних версиях вы можете использовать DateTime::createFromFormat(). В более ранних версиях PHP вам нужно было создать объект DateTime с new DateTime();.

Манипуляции, которые возможны с объектом DateTime, также перечислены в руководстве здесь .

...