2009-12-06 11 views
10

私は今から6年後の日付を持ちたいですか?今から6年後の日付を取得しますか?

どうすればよいですか?

+36

エスコートサービスでスケジュールする必要がある場合があります。 – ChaosPandion

+1

このコメントを「おすすめコメント」カテゴリに登録するにはどうすればよいですか?素晴らしい。 – jay

+0

あなたの22の質問のいくつかにいくつかの正しい答えで印を付けるのはどうですか? – PetersenDidIt

答えて

24
<?php 
$timestamp = strtotime('+6 years'); 
echo date('Y-m-d H:i:s', $timestamp); 
?> 
+0

これは実際にPHPでどのように行うのですか? – ChaosPandion

+4

はい、何を期待しましたか? –

+0

私は.NETのDateTimeオブジェクトに甘やかされていると思います。 – ChaosPandion

1
strtotime('+6 years'); 

ます)のstrftime(のようなものにそのタイムスタンプを渡すことができます。 strtotime

1

はまだChaosPandionさんのコメント笑っ:)

echo strtotime ("+6 years"); 

は、トリックを行う必要があります。

-1

189302400は、6年間の秒数です。

現在のタイムスタンプを取得してから189302400を追加し、タイムスタンプを日付文字列に変換します。

+2

+1は必要なコードを省略し、タイムスタンプに焦点を当てています –

+3

6年間に0,1、または2のうるう年が含まれていますか? (1700,1800,1900,2100,2200などはうるう年ではありません) –

+3

理論上は良いですが、うるう年を適切に考慮していないため、実際には壊れています。 1997年から2003年は2000年がうるう年でなく、2004年と2008年の両方がうるう年であったため、2003年から2009年に1日追加する必要があるため、1日を引く必要があります。それはあなたが6年以内に少なくとも1つのうるう年を計画していることを前提としています。 –

1

あなたの説明は非常に正確ではありませんが、echo date("Y-m-d", strtotime("+6 years"));は何が必要かもしれません...以上

2
date_default_timezone_set('America/Los_Angeles'); //required if not set 
$date = new DateTime('1/1/1981'); 
$date->modify('+60 year'); 
echo $date->format('Y-m-d'); 

は(1970年以前と2038年後)は、UNIXタイムスタンプ日付範囲の影響を受けません。

また、比較演算子と直接比較することもできます。時間スタンプに変換する必要はありません。

PHP 5.3

+0

+1実在のオブジェクト指向のソリューション – Cesc

関連する問題