web-dev-qa-db-ja.com

PHP:現在の日付の月を取得する日付関数

現在の日付変数の月を把握できるようにしたい。私は元vb.netで、それを行う方法はdate.Monthだけです。 PHPでこれを行うにはどうすればよいですか?

おかげで、

ジョーニー

date_format($date, "m"); //01, 02..12を使用しました

$monthnumber = 011になるので、これがintとどのように比較するかという質問です。

54
iamjonesy

http://php.net/date を参照してください

date('M')またはdate('n')またはdate('m')...

更新

m先行ゼロ付きの月の数値表現01から12

n先行ゼロなしの月の数値表現1から12

F月のアルファベット表記1月から12月まで

81
fabrik

「データ変数」はどのように見えますか?このような場合:

$mydate = "2010-05-12 13:57:01";

簡単にできます:

$month = date("m",strtotime($mydate));

詳細については、 date および strtotime をご覧ください。

編集:

Intと比較するには、date_format($date,"n");を実行するだけで、先行ゼロなしで月が得られます。

または、次のいずれかを試してください。

if((int)$month == 1)...
if(abs($month) == 1)...

または、ltrim、round、floorを使用した奇妙なものですが、date_format()に「n」を指定するのが最適です。

68
oezi
$unixtime = strtotime($test);
echo date('m', $unixtime); //month
echo date('d', $unixtime); 
echo date('y', $unixtime );
9
Pramendra Gupta

date_formatは日付と同じ形式を使用するため( http://www.php.net/manual/en/function.date.php )「月の数値表現、先行ゼロなし」は小文字のn ..そう

echo date('n'); // "9"
5
Hannes

システムの現在の日付または変数に保持されている日付を意味する場合は指定されていないため、後者については例を挙げて回答します。

<?php
$dateAsString = "Wed, 11 Apr 2018 19:00:00 -0500";

// This converts it to a unix timestamp so that the date() function can work with it.
$dateAsUnixTimestamp = strtotime($dateAsString);

// Output it month is various formats according to http://php.net/date

echo date('M',$dateAsUnixTimestamp);
// Will output Apr

echo date('n',$dateAsUnixTimestamp);
// Will output 4

echo date('m',$dateAsUnixTimestamp);
// Will output 04
?>
2
J-a-n-u-s