23

私はオンラインで例を調べてきましたが、それらが少し不可解またはやり過ぎであることがわかりました。

私がする必要があるのは次のようなものです:

$timestamp = time();

その日が月曜日なのか月の最初なのかを調べますか?

それが可能だと確信していますが、それを行う方法がわかりません。

4

6 に答える 6

60

実際には、次の理由により、タイムスタンプ変数は必要ありません。

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";
于 2012-12-28T01:16:03.543 に答える
8

これで解決するはずです:

$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 =/
}
于 2012-12-28T01:23:17.357 に答える
4

これはつかみます..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..
于 2012-12-28T01:19:18.130 に答える
1

$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);
}
于 2013-12-24T04:23:56.887 に答える
1

使用できます:

$firstdaymonth = strtotime('first day this month');
于 2012-12-28T01:12:11.033 に答える