23

私のPHPコードでは、変数「$postedDate」に日付があります。
7日後、15日後、1ヶ月後、2ヶ月後の日付を取得したいです。

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

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

4

6 に答える 6

35

strtotimeを使用します。

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

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

http://uk.php.net/strtotime

于 2009-05-06T07:22:16.013 に答える
18

これを試して

$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");
于 2009-05-06T06:52:54.603 に答える
15

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

于 2012-11-25T19:49:23.140 に答える
11
$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
于 2013-05-23T13:12:35.030 に答える
4

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

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

echo $date = date("Y-m-d", strtotime($date ." +1 day") );
于 2013-05-22T17:50:50.397 に答える
3

とにかく入力形式は何ですか?

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 日が常に正しく機能するとは限らないため、最初にタイムスタンプを月、日、年に変換し (date () 関数を使用)、次に (1) を使用します。

3) 日付が文字列の場合、たとえば strtotime() を使用して最初に解析してから、好きなことを行います。

于 2009-05-06T08:21:36.043 に答える