指定した日付から1年後の日付を取得しようとしています。
私のコードは次のようになります:
$futureDate=date('Y-m-d', strtotime('+one year', $startDate));
間違った日付を返しています。なぜ何かアイデアはありますか?
指定した日付から1年後の日付を取得しようとしています。
私のコードは次のようになります:
$futureDate=date('Y-m-d', strtotime('+one year', $startDate));
間違った日付を返しています。なぜ何かアイデアはありますか?
回答:
今日の日付に1年を追加するには、以下を使用します。
$oneYearOn = date('Y-m-d',strtotime(date("Y-m-d", mktime()) . " + 365 day"));
他の例では、$ StartingDateをタイムスタンプ値で初期化する必要があります。例:
$StartingDate = mktime(); // todays date as a timestamp
これを試して
$newEndingDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($StaringDate)) . " + 365 day"));
または
$newEndingDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($StaringDate)) . " + 1 year"));
$futureDate=date('Y-m-d', strtotime('+1 year'));
$ futureDateは今から1年後です!
$futureDate=date('Y-m-d', strtotime('+1 year', strtotime($startDate)) );
$ futureDateは$ startDateから1年です!
$futureDate=date('Y-m-d',strtotime('+1 year',$startDate));
以下で説明するKプライムのようにしてください。
試してみてください: $futureDate=date('Y-m-d',strtotime('+1 year',$startDate));
,
したコードでエラーが発生し、.
機能しましたdate("Y-m-d",strtotime('+1 year '.$startDate))
。
// Declare a variable for this year
$this_year = date("Y");
// Add 1 to the variable
$next_year = $this_year + 1;
$year_after = $this_year + 2;
// Check your code
echo "This year is ";
echo $this_year;
echo "<br />";
echo "Next year is ";
echo $next_year;
echo "<br />";
echo "The year after that is ";
echo $year_after;
私はオブジェクト指向アプローチを好みます:
$date = new \DateTimeImmutable('today'); //'today' gives midnight, leave blank for current time.
$futureDate = $date->add(\DateInterval::createFromDateString('+1 Year'))
使用して、DateTimeImmutable
そうでない場合、あなたはあまりにも元の日付を変更します!DateTimeImmutableの詳細:http://php.net/manual/en/class.datetimeimmutable.php
今日の日付から欲しいだけなら、いつでも次のことができます。
new \DateTimeImmutable('-1 Month');
strtotime()
bool(false)
文字列を解析できないため、が返されます'+one year'
(「1つ」を理解しません)。 false
次に、integer
タイムスタンプに暗黙的にキャストされ0
ます。strtotime()
の出力がそうではないことを確認することをお勧めしますbool(false)
他の関数に前に、ます。
戻り値
成功した場合はタイムスタンプを返し、それ以外の場合はFALSEを返します。PHP 5.1.0より前では、この関数は失敗すると-1を返しました。