2012-12-28 6 views
19

私は例をオンラインで探していますが、私はそれらを少し謎めいた、または過剰なものにしています。

$timestamp = time(); 

、その後、日が月曜日か月のこぶしであるかどうかを調べる:私がする必要がどのような

はこのようなものでしょうか?

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

あなたが使用できる
+0

http://php.net/manual/en/class.datetime.php –

+0

それを確認すべきですか? ;) – Xfile

+0

@Xfile今日は月曜日かどうかを知るだけでいいですか?そして別のラインでは、今日が最初の月かどうかを知る必要があります。本質的に、毎週、毎月送信する必要があるリマインダがあるので、それらが必要な理由です。 – Genadinik

答えて

42

ので実際に、あなたはタイムスタンプ変数を必要としない:php.netのdate機能から

抜粋:

は、フォーマット文字列を返し与えられた整数のタイムスタンプ、またはタイムスタンプがない場合は現在の時刻 を与えられた書式文字列に従って返します。 言い換えると、タイムスタンプはオプションで、デフォルトでは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"; 
+4

'(日付( 'w'、$タイムスタンプ)=== '1')'より良いです。 –

+1

なぜそれは良いですか?説明してください。 'D'形式の文字は人間が読むことができます。 –

+2

特定のロケールでは、 'date( 'D')'の結果は月曜日でも '' Mon''として読むことはできません。さらに、あなたのコードは人間が読めるかどうかにはまったく気をつけませんが、それが月曜日であれば正しい方法で反応したいと考えています。 –

1

strtotime

$firstdaymonth = strtotime('first day this month'); 
+1

申し訳ありませんが、ちょっと混乱していますが、その機能に「今月初めの日」を入力するにはどうすればよいですか? – Genadinik

+3

のように、文字通り「最初の日は今月」と書かれています。 strtotimeはそれらを受け入れます。グーグルそれ:) –

2

これは...

$day = 1; ///1st in month 

    AND $day = (date_format(from_unixtime(your_date_column),'%d')) 

JUSTこれは、それを解決する必要があり

$date = date("d"); //1st? 
$dayinweek = date("w"); //monday? //as a number in a week what you need more then just "Monday" I guess.. 
6

知っているmysqlの

$monday = 1; //tuesday= 2.. sunday = 7 

    AND $monday = (date_format(from_unixtime(your_date_column),'%w')) 

OR日から...月曜日をつかむだろう。

$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 =/ 
} 
0

$ dateは月曜日または日曜日にできるためです。あなたは月曜日によるまたは第一またはちょうど見つけるためにすることが第一または月曜日であるデータを照会するNEDD

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); 
}