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

iam*_*esy 60 php datetime

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

谢谢,

Jonesy

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

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

fab*_*rik 85

http://php.net/date

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

更新

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

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

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


oez*_*ezi 72

你的"数据变量"是什么样的?如果它是这样的:

$mydate = "2010-05-12 13:57:01";
Run Code Online (Sandbox Code Playgroud)

你可以简单地做:

$month = date("m",strtotime($mydate));
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看日期strtotime.

编辑:

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

或者,尝试以下方法之一:

if((int)$month == 1)...
if(abs($month) == 1)...
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢我使用date_format($ date,"m")来获得01,02..12.我已经更新了我的问题,因为这给了我另一个问题. (2认同)

Pra*_*pta 9

$unixtime = strtotime($test);
echo date('m', $unixtime); //month
echo date('d', $unixtime); 
echo date('y', $unixtime );
Run Code Online (Sandbox Code Playgroud)


J-a*_*u-s 6

由于未指定您是指系统的当前日期还是变量中保存的日期,所以我将用一个示例来回答后者。

<?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
?>
Run Code Online (Sandbox Code Playgroud)


Han*_*nes 5

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

echo date('n'); // "9"
Run Code Online (Sandbox Code Playgroud)