私はオンラインで例を調べてきましたが、それらが少し不可解またはやり過ぎであることがわかりました。
私がする必要があるのは次のようなものです:
$timestamp = time();
その日が月曜日なのか月の最初なのかを調べますか?
それが可能だと確信していますが、それを行う方法がわかりません。
実際には、次の理由により、タイムスタンプ変数は必要ありません。
php.net の日付関数からの抜粋:
指定された整数のタイムスタンプまたはタイムスタンプが指定されていない場合は現在の時刻を使用して、指定されたフォーマット文字列に従ってフォーマットされた文字列を返します。つまり、timestamp はオプションであり、デフォルトは time() の値です。
if(date('j', $timestamp) === '1')
echo "It is the first day of the month today\n";
if(date('D', $timestamp) === 'Mon')
echo "It is Monday today\n";
これで解決するはずです:
$day = date('D');
$date = date('d')
if($day == Mon){
//Code for monday
}
if($date == 01){
//code for 1st fo the month
}
else{
//not the first, no money for you =/
}
これはつかみます..mysqlから月曜日
$monday = 1; //tuesday= 2.. sunday = 7
AND $monday = (date_format(from_unixtime(your_date_column),'%w'))
または日..
$day = 1; ///1st in month
AND $day = (date_format(from_unixtime(your_date_column),'%d'))
知っておくべきこと
$date = date("d"); //1st?
$dayinweek = date("w"); //monday? //as a number in a week what you need more then just "Monday" I guess..
$date は月曜日または日曜日になる可能性があるためです。チェックするべし
public function getWeek($date){
$date_stamp = strtotime(date('Y-m-d', strtotime($date)));
//check date is sunday or monday
$stamp = date('l', $date_stamp);
if($stamp == 'Mon'){
$week_start = $date;
}else{
$week_start = date('Y-m-d', strtotime('Last Monday', $date_stamp));
}
if($stamp == 'Sunday'){
$week_end = $date;
}else{
$week_end = date('Y-m-d', strtotime('Next Sunday', $date_stamp));
}
return array($week_start, $week_end);
}
使用できます:
$firstdaymonth = strtotime('first day this month');