Php 当日期格式为-天-月-年时,如何从日期中找出月份?

Php 当日期格式为-天-月-年时,如何从日期中找出月份?,php,Php,请告诉我,当日期格式如下时,如何从日期中找出月份 01/12/2011 Day-Month-year 谢谢:)试试看 $v = explode('/', $date); echo $v[1]; 在PHP5.4+中: $month = explode('/', $date)[1]; 我还写道: 但是这不起作用因为格式为12/10/2012的日期被视为英文日期,所以第二部分10被视为月日,而不是月号。你应该使用 DateTime::createFromFormat('d/m/

请告诉我,当日期格式如下时,如何从日期中找出月份

    01/12/2011

  Day-Month-year
谢谢:)

试试看

$v = explode('/', $date);
echo $v[1];
在PHP5.4+中:

$month = explode('/', $date)[1];
我还写道:

但是这不起作用因为格式为
12/10/2012
的日期被视为英文日期,所以第二部分
10
被视为月日,而不是月号。你应该使用

DateTime::createFromFormat('d/m/Y', $date)
正如@PeeHaa所建议的那样。

试试看

$v = explode('/', $date);
echo $v[1];
$thedate = '01/12/2011';
$date = DateTime::createFromFormat('d/m/Y', $thedate);

print($date->format('m'));
在PHP5.4+中:

$month = explode('/', $date)[1];
我还写道:

但是这不起作用因为格式为
12/10/2012
的日期被视为英文日期,所以第二部分
10
被视为月日,而不是月号。你应该使用

DateTime::createFromFormat('d/m/Y', $date)
正如@PeeHaa所建议的那样

$thedate = '01/12/2011';
$date = DateTime::createFromFormat('d/m/Y', $thedate);

print($date->format('m'));
PHP的DateTime对象只能从PHP5.2和PHP5.2.3的
createFromFormat()
中获得

或者,您可以将时间戳伪造为正确的格式:

$thedate = str_replace('/', '-', '01/12/2011');

$date = strtotime($thedate);
print(date('m', $date));
PHP的DateTime对象只能从PHP5.2和PHP5.2.3的
createFromFormat()
中获得

或者,您可以将时间戳伪造为正确的格式:

$thedate = str_replace('/', '-', '01/12/2011');

$date = strtotime($thedate);
print(date('m', $date));

strotime()的副本的副本将第二个数字视为day@piotrekkr是的,是那种格式。正确的“格式”是:
01-12-2011
strotime()将第二个数字视为day@piotrekkr是的,是那种格式。正确的“格式”应该是:
01-12-2011
@dansurflider是的,它不会在2038年死亡:)嗨,Peehaa。。谢谢你的回复。我尝试了你的代码,但收到一条错误消息,上面写着--Fatal error:调用未定义的方法DateTime::createfromformat()@DanSurfrider是的,它不会在2038年消亡:)嗨,Peehaa。。谢谢你的回复。我尝试了您的代码,但收到的错误消息是--Fatal error:调用未定义的方法DateTime::createfromformat()