web-dev-qa-db-ja.com

PHPで15日/ 1か月後に日付を取得するにはどうすればよいですか?

私のPHPコードでは、変数 "$ postedDate"に日付があります。
今、7日、15日、1か月、2か月が経過した日付を取得します。

どの日付関数を使用すればよいですか?

出力日付の形式は米国の形式にする必要があります。

23
Shyju

Strtotimeを使用します。

$newDate = strtotime('+15 days',$date)

$ newDateは、$ dateから15日になります。 $ dateはUNIX時間です。

http://uk.php.net/strtotime

35
PaulJWilliams

これを試して

$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");
18
Sadegh

PHP 5.2.0なので、DateTimeビルドインクラスが利用可能です

$date = new DateTime($postedDate);

$date->modify('+1 day');

echo $date->format('Y-m-d');

http://php.net/manual/en/class.datetime.php

15
Lamy
$date=strtotime(date('Y-m-d'));  // if today :2013-05-23

$newDate = date('Y-m-d',strtotime('+15 days',$date));

echo $newDate; //after15 days  :2013-06-07

$newDate = date('Y-m-d',strtotime('+1 month',$date));

echo $newDate; // after 1 month :2013-06-23
10
ARJUN KP

これは非常に簡単です。これを試して:

$date = "2013-06-12"; // date you want to upgade

echo $date = date("Y-m-d", strtotime($date ." +1 day") );
4

とにかく入力フォーマットは何ですか?

1)たとえば、日付が年、月、日の配列の場合、mktime(0、0、0、$ month、$ day + 15、$ year)またはmktime(0、0、0、$ month)を使用できます。 + 1、$日、$年)。 mktimeは範囲外の値を適切に処理するスマート関数であるため、mktime(0、0、0、13、33、2008)(2008年の月13、33日)は2月のタイムスタンプを返します。 、2、2009。

2)日付がタイムスタンプの場合、15 * SECONDS_IN_A_DAYのように追加して、日付(/ *任意の形式* /、$ postedDate)で出力します。 1か月を追加する必要がある場合、もちろん30日間は常に正しく機能するとは限りません。そのため、まずタイムスタンプを月、日、年(日付()関数を使用)に変換してから、(1)を使用できます。

3)日付が文字列の場合、まずstrtotime()などを使用して解析し、次に好きなように実行します。

3
Ilya Birman