2012-01-16 19 views

答えて

11
$date = new DateTime(); 
$date->sub(new DateInterval('P2D')); 
echo $date->format('Y-m-d') , PHP_EOL; 

0時00分までの時間区間を設定するPHP> = 5.3.0

+0

+1あなたの答えをありがとう。これとstrtotimeの違いは何ですか?私はstrtotime()を使用するほうがはるかに簡単でした。 – John

+1

strtotimeは、単純な数値のタイムスタンプ(PHPのベースからの秒数)で動作します。 DateTimeはPHPのdateTimeオブジェクトで、日付/時刻の値を扱うためのオブジェクト指向のアプローチを提供しています。さらに、タイムゾーン、インターバル、期間の作業のための洗練されたツール(PHP 5.3.0以降)が多数あります。 –

+0

もっと早く ? – John

13

このプロセスには、strtotimeがあります。次のコードを使用してください:

strtotime('-2 day'); 

質問する前に、Googleで質問を調べてください。

+0

でしょうか?または時間を維持します:分から "今"? –

2

は、このコードを試してみてください。

<?php 
    print date("F j, Y", time() - 172800); 
?> 

172800秒は48時間であります。 date関数の最初の引数は書式設定文字列です。その他の書式設定オプションについては、http://us2.php.net/manual/en/function.date.phpを参照してください。

+3

1日に24時間、1分に60秒であるとは限りません。夏時間やうるう秒といった厄介なことがあります。時間は難しいです:) –

+0

ええと...私はそれに対処する方法がわかりません。おそらく '日付(" F j、Y "、strtotime( ' - 2 day'));が動作します。 – wecsam

関連する問題