2011-08-01 2 views
2

クライアントは毎週月曜日に自動的にニュースレターが生成されることを希望し、次週のスケジュールを表示します。簡単です:PHP:月の最後の週に日が存在するかどうかを調べる

if(date('N', $time)==1) { /* Stuff */ } 

夜間に実行されているcrontabに添付してください。

ただし、月の最後の週にニュースレターが生成されている場合は、今月の予定を表示する必要があります。毎月のスケジュールをいつ生成する必要があるかはどのように判断するのですか?

答えて

4
date('m') == date('m', strtotime('+1 week')) 

レポートが実行されている日付から月の週には、レポートを表示し、現在の月と異なる場合!

+0

[のstrtotime](http://php.net/manual/en/function.strtotime.phpは)私の好きなPHPの機能の一つであります –

0
if(date('n', $time) !== date('n', $time+518400)){ 
    // Six days from now it will be a new month 
} 
0

次の月曜日が別の月になるかどうかは、片方向かもしれません。

if (date('n', $time) != date('n', $time + 7*24*60*60)) { ... } 

これはあなたのほうが好きかもしれませんが、これは既存のコードと一貫しているようです。

0

t日付書式パラメータを使用して、特定の月の日数を確認することができます。

PHPの組み込み時間関数は、このもシンプルに:私はこの答えたが、これは、より多くのを助ける知っ

if ((date('t', $time) - date('j', $time)) > 6) { 
    // in the last week of the month 
} 
0

を試してみてください。 http://php.net/manual/en/function.strtotime.php

// Get first Friday of next month. 
$timestamp = strtotime('first fri of next month'); 

// Get second to last Friday of the current month. 
$timestamp = strtotime('last fri of this month -7 days'); 

// Format a timestamp as a human-meaningful string. 
$formattedDate = date('F j, Y', strtotime('first wed of last month')); 
関連する問題