PHP:日期函数,用于获取当前日期的月份

时间:2010-09-22 09:51:33

标签: php datetime

我希望能够找出当前日期变量的月份。我是前vb.net,其中的方法只有date.Month。我如何在PHP中执行此操作?

谢谢,

Jonesy

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

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

6 个答案:

答案 0 :(得分:77)

请参阅http://php.net/date

date('M')date('n')date('m') ...

<强>更新

  

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

     

n 一个月的数字表示,没有前导零 1到12

     

F 一个月的字母表示 1月到12月

答案 1 :(得分:65)

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

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

您可以这样做:

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

有关详细信息,请查看datestrtotime

修改

要与int进行比较,只需执行一个date_format($date,"n");,它将为您提供不带前导零的月份。

或者,尝试其中一种:

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

或者使用ltrim,round,floor的奇怪东西......但是带有“n”的date_format()将是最好的。

答案 2 :(得分:9)

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

答案 3 :(得分:5)

因为date_format使用与日期(http://www.php.net/manual/en/function.date.php)相同的格式,“一个月的数字表示,没有前导零”是小写的n ..所以

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

答案 4 :(得分:2)

如果您没有指明系统的当前日期或变量中的日期,我将通过示例回答后者。

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

答案 5 :(得分:0)

要与int进行比较,请执行以下操作:

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