0

Possible Duplicate:
adding one day to a date

I'm trying to add a day to a value pulled from a mysql row. so the value getting returned is let's say

2012-10-22 22:12:13

and I want to make it

2012-11-22 22:12:13

and store it in the variable without having to interval it back into mysql and then pull it right back out.

i tried doing

$end_date_add = $enddate + 0000 . "-" . 00 . "-" . 01 . " " . 00 . ":" . 00 . ":" . 00;

with $end_date being the time logged, but it replaces the time with zeros. am I going about this wrong? Any help much appreciated, thank you.

4

4 に答える 4

1

strtotimeを使用して、1か月の期間を追加できます。

$date   = '2012-10-22 22:12:13';
$format = 'Y-m-d H:i:s';
echo date($format, strtotime("$date +1 MONTH"));

出力(デモ):

2012-11-22 22:12:13

PHPのDateTimeタイプを利用して、1日のDateIntervalを追加することもできます。

$date   = '2012-10-22 22:12:13';
$format = 'Y-m-d H:i:s';
echo (new DateTime($date))->add(new DateInterval('P1M'))->format($format);

出力(デモ):

2012-11-22 22:12:13

上記のコードはPHP5.4ですが、PHP5.3では次のことができます。

echo date_add(new DateTime($date), new DateInterval('P1M'))->format($format);
于 2012-10-25T05:54:50.447 に答える
1

これはあなたが望むものだと思います...

$date_old = strtotime("+1 MONTH", strtotime("2012-10-22 22:12:13"));

echo date("Y-m-d H:i:s", $date_old);
于 2012-10-25T05:38:35.310 に答える
0

日付追加

$date = date("Y-m-d"); // current date
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days");
于 2012-10-25T05:31:06.730 に答える
0

これは、MYSQL クエリの一部として実行することもできます。

SELECT DATE_ADD(datecol, INTERVAL 1 DAY) AS 'datecol_plus_one'
于 2012-10-25T05:39:29.003 に答える