2012-04-17 5 views
0

私は日付範囲を作るためにstrtotimeを取得しようとしていますが、私はすでに基本的なもののいくつかについて考え出しています。 「それらは私ができる唯一のものでPHPでのstrtotime()のその他の使用

$startDate = strtotime('first day of last month'); 
$endDate = strtotime('last day of last month'); 
$startDate = strtotime('first of last week'); 
$startDate = strtotime('first of this week'); 

:ここ

は私が把握しようとしているものもありますが、私はあなたがこれらのものをオンラインでどこでも入力することになっている形式を見つけることができませんのための参照を見つける、彼らは特別なプログラミングを必要とする可能性があり、 strtotime参照がありません。

編集:私のコードは、働いてきたはずですように見えますが、私は先月の最初の日に取得するための回避策を使用PHP 5.2

にバグがあります。

これは動作します:$ firstDayOfLastMonth =のstrtotime(日付( 'Y-M'、のstrtotime( '先月')))週のものについては

+0

私はこれらのいくつかは(日付の組み合わせを使用して達成することができると思います)とのstrtotime()たとえば、先月の最初の日を考え - 1月 ');' – Dale

+0

最初の2つの例は、私にとってうまくいきます。PHP 5.3.5 – webbiedave

+0

ここで見てください:[サポートされている日付と時刻の形式:相対形式](http://php.net/manual/en/datetime.formats.relative.php) –

答えて

1

あなたはこれがあれば動作します

strtotime('this week midnight'); // returns Monday midnight of this week 
strtotime('last week midnight'); // returns Monday midnight of last week 

を使用することができます月曜日から始まる週が必要です。先週は、月曜日が最初の日であるという前提で動作するようです。あなたは一週間のタイムスタンプは、日曜日に開始したい場合は、以下を使用します。

strtotime('last week Sunday midnight'); // returns Sunday midnight of this week 
strtotime('-2 weeks Sunday midnight'); // returns Sunday midnight of last week