2009-10-22 2 views
2

Я опубликовал дату и дату публикации в моей БД. В настоящее время они оба совпадают.Добавить 30 дней на день в db

Как его изменить (во время вставки mysql), так что дата публикации даты составляет 30 дней после публикации даты.

Я использую $ PubDate

Благодарности

ответ

8

Вы можете использовать DATE_ADD():

DATE_ADD(my_date, INTERVAL 30 DAY) 
+2

опечатка в вашем интервале, должно быть: DATE_ADD (my_date, ИНТЕРВАЛ 30 DAY) - ДЕНЬ не множественное число в MySQL – Jay

+0

К сожалению, я всегда делайте это - спасибо, что заметили это. – Greg

+0

Синтаксический сахар: вместо date_add() вы также можете использовать 'my_date + Interval 30 DAY' и вместо date_sub()' my_date-Interval 30 DAY'. – VolkerK

2

в PHP, перед вставкой вы можете использовать StrToTime(): если дата publishDown отметка времени :

$ publishDown = strtotime ("+ 30 дней", $ publishDown);

иначе вы, возможно, придется использовать mktime, чтобы получить его в нужном формате

+0

Если бы вы читали дату из базы данных и отображали ее, я бы сказал, манипулировать датой со своим серверным языком. Когда вы храните данные, используйте внутренние функции базы данных для любых манипуляций с данными. –

+0

Я дал вам взнос, потому что я думаю, что это вполне разумное решение проблемы, на самом деле это может быть лучше, чем использование внутренних функций базы данных, поскольку iKnowKungFoo предлагается потому, что каждая база данных darn имеет разные внутренние функции для выполнения одной и той же вещи. –

Смежные вопросы