在php中将日期y-M更改为Y-m

时间:2012-08-13 04:26:49

标签: php date strtotime

我想将11-Mar的日期设为2011-03。但我认为php认为11-Mar2012-Mar-11。我该怎么办?

价值:11-Mar

期待:2011-03

结果:2012-03 [date(strtotime('11-Mar'))]

5 个答案:

答案 0 :(得分:3)

如果您使用的是PHP> = 5.3.0那么您可以使用此...

$date = date_create_from_format('y-M', '11-Mar');
echo date_format($date, 'Y-m');

http://www.php.net/manual/en/datetime.createfromformat.php

答案 1 :(得分:1)

$result = date ('Y-m',strtotime('2011-Mar'));

echo $result;

答案 2 :(得分:1)

您可以使用php中的DateTime类来执行此操作。

$str = "11-Mar";
$date = DateTime::createFromFormat('y-M', $str);
echo $date->format('Y-m');

http://www.php.net/manual/en/datetime.createfromformat.php

此致

答案 3 :(得分:0)

尝试

$date= date('Y-m',strtotime('2011 Mar'));
echo $date;

答案 4 :(得分:0)

以上情况很好,这对于转换FROM所需的内容更为准确:

<?php

$a = "11-Mar";
$date = explode("-", $a);
if ($date[0] <= 99)
    $year = '19'.$date[0];

else
    $year = '20'.$date[0];

$mon = $date[1];

$date= date('Y-m',strtotime("$year $mon"));
echo $date; // echoes 2011-03

?>