コードがあります:date('Y')."-".date('m')."-".date('d')
コードの一部の日付から数年を取り除くにはどうすればいいですか?日付から数年を引く
(date('Y')-42)."-".date('m')."-".date('d')
または短い
(date('Y')-42)."-".date('m-d')
を使用することができますあなたの状況については
コードがあります:date('Y')."-".date('m')."-".date('d')
コードの一部の日付から数年を取り除くにはどうすればいいですか?日付から数年を引く
(date('Y')-42)."-".date('m')."-".date('d')
または短い
(date('Y')-42)."-".date('m-d')
を使用することができますあなたの状況については
しかし、アルバロ・G.ヴィカリオコメントで観察されるように、そこにあります何年も存在しない2月29日の恐怖ですので、はにしてくださいstrtotime
例:
$someDay = strtotime('2009-11-23');
$threeYearsBefore = strtotime('-3 years', $someDay);
echo date('Y-m-d', $threeYearsBefore);
または、現在の時刻と比較し、
$threeYearsBefore = strtotime('-3 years');
echo date('Y-m-d', $threeYearsBefore);
'date'は文字列を返します。 – SilentGhost
ありがとう、それは働いた! – DogPooOnYourShoe
@SilentGhost - そうですが、PHPは弱く型付けされています。 – Spudley
$date = strtotime('-2 years');
そして、あなたの印刷コードは、この複雑なバージョン以外の何ものでもないので:
echo date('Y-m-d', $date);
。あなたは1ライナーにすべてを簡素化することができます:
echo date('Y-m-d', strtotime('-2 years'));
なぜ 'date( 'Y-m-d')'? – SilentGhost
@SilentGhost - もちろんそうです。私はちょうど最小限の変更で元のコードを取った。 –
あなたが同様に達成するためにDateIntervalとともにDateTimeクラスを使用することができますPHP5.2のとおり:
$now = new DateTime();
$two_years_ago = $now->sub(new DateInterval("P2Y"));
echo $two_years_ago->format('Y-m-d');
これはきれいな解決策であるようです。 – cptnk
エコー日付( "Y-M-D"、のstrtotime( ' - 20年));
*年数を削除*減算について話していますか? – SilentGhost