Правовая оговорка, я не 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 (весь день)"?
Вы должны использовать класс datetime: http://php.net/manual/en/book.datetime.php
Разница в дате и времени: http://www.php.net/manual/en/datetime.diff.php
Подстракция DateTime: http://www.php.net/manual/en/datetime.sub.php
Дополнительный ответ: Да, вы можете это сделать, вы должны дважды преобразовать дату в метку времени с помощью DateTime () (1. С 00:00:00 и с 23:59:59), когда вы сравниваете эти временные метки. на вашу исходную (может быть, среднюю) метку времени, и вы получите ответ по результатам сравнения.
Чтобы разрешить любые операции со значением даты, вам сначала нужно создать объект DateTime.
В PHP 5.3 и более поздних версиях вы можете использовать DateTime :: createFromFormat ()
. В более ранних версиях PHP вам нужно было создать объект DateTime с помощью new DateTime ();
.
Манипуляции, которые возможны с объектом DateTime, также перечислены в руководстве здесь .