函数获取当前日期的月份

我希望能够计算出当前日期变量的月份。我的前 vb.net 和方法做到这一点只是 date.Month。我如何在 PHP 中做到这一点?

Thanks,

Jonesy

我用的是 date_format($date, "m"); //01, 02..12

这就是我想要的,现在的问题是如何将它与 int 进行比较,因为 $monthnumber = 01变成了 1

364749 次浏览

参见 http://php.net/date

date('m')或者 date('n')或者 date('F')..。

Update

M 一个月的数字表示,前导零 01到12

N 一个月的数字表示,不带前导零 1到12

F 一个月的字母表示法 一月至十二月

... ... 看到文件链接,甚至更多的选择。

你的“数据变量”是什么样子的? 如果是这样:

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

你可以简单地做:

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

有关更多信息,请参见 约会再见

编辑:

要与 int 进行比较,只需做一个 date_format($date,"n");,它会给出没有前导0的月份。

Alternatively, try one of these:

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

或者一些奇怪的东西,使用 lrim,round,floor... 但是带有“ n”的 date _ format ()将是最好的。

$unixtime = strtotime($test);
echo date('m', $unixtime); //month
echo date('d', $unixtime);
echo date('y', $unixtime );

As date _ format 使用与 date (http://www.php.net/manual/en/function.date.php)相同的格式,“一个月的数字表示,不带前导零”是一个小写的 n。.所以

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

由于没有指定系统的当前日期或变量中保存的日期,我将用一个示例来回答后面的问题。

<?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
?>

与 int 进行比较:

<?php
$date = date("m");
$dateToCompareTo = 05;
if (strval($date) == strval($dateToCompareTo)) {
echo "They are the same";
}
?>