このようなmysqlの日付が2013-10-16 17:44:13
あり、そこから+30日を取得する必要があります。私は使用できません。10 日 ( 月 ) を 11 日 ( 月 ) に変更します。これは、月によって 31 日または 29 日になる可能性があるためです。
2013-10-16 17:44:13
+ 30*24*60*30 よりもタイムスタンプに変換し、この新しいタイムスタンプを mysql 形式に戻すことしか考えられません
より良い方法はありますか?
これに使用できますstrtotime
:
$date = date('Y-m-d H:i:s', strtotime($date . ' +30 days'));
または、次を使用して MySQL で直接実行しますDATE_ADD
。
SELECT DATE_ADD(`date`, INTERVAL 30 DAY) as `date` FROM `table`
新しいバージョンの MySQL を実行している場合は、次を使用する必要はありませんDATE_ADD
。
SELECT (`date` + INTERVAL 30 DAY) as `date` FROM `table`
strtotime
は十分にスマートですが、MySQLではを使用する必要があることに注意してくださいDAY
。違いDAYS
ます。
編集:古いバージョンで必要であるという証拠を見つけることはできませんがDATE_ADD
、どこかで聞いたことがあることを誓います. 一粒の塩でそれを取り、好きな方法を使用してください.
mysqlについて言及したので、mysql関数でそれを行います
select NOW() + interval 30 day as NEW_DATE
今、あなたのデータベースの日付に置き換えることができます
select date_field + interval 30 day as NEW_DATE from YOUR_DB