2012-03-02 11 views
5

特定の月/年の最初の日の日付を戻すより良い方法はありますか?特定の月/年の最初の日を取得する

$month = date('m'); 
$year = date('Y'); 
$from = date('Y-m-d', mktime(0, 0, 0, $month, 1, $year)); 
+0

あなたはより良いとはどういう意味ですか?あなたが持っているものは上手く見えます。 – j08691

答えて

-1

。あなたはそれを関数にしたいかもしれません。

10

これは正確に計算がエレガントではありませんが、それはとても読みやすいですので、私はそれが好き:

私にそれを行うための正しい方法のように見えます
strtotime("first day of this month"); 
+0

「来月の初日」や「今月の初日+2月」のようなバリエーションもあります。 – drewish

+2

また、時間の真夜中の質問のサンプルとは異なり、このバージョンでは現在の時間、分、秒が使用されています。 – drewish

+1

私は '$ date = new DateTime( '今月の初日')を使いたいと思います。 $ date-> setTime(0、0、0); ' – LeonardChallis

8

なぜ複雑ですか?

date("Y-m-01") 

これはうまく動作します。)

(、私はこれを行うことが実現する前strtotimeをいじって時間を無駄にするために自分自身がハード蹴り)

2

date("Y-m-01")を心配しないで動作します!完全に; 私は月の最初の日から現在の日までのレコードを見つけるために同じテクニックを使用しました。

if(!isset($FromDate)) 
      $FromDate=date('Y-m-01'); //date with current month's first day 

if(!isset($ToDate)) 
     $ToDate=date('Y-m-d'); /////current date 

私はそれが必要条件に応じて動作することを願っています。次のコード行を見てください 。

関連する問題