如何将日期格式从01-04-2014转换为1月4日?

时间:2014-02-03 12:23:54

标签: php date

我有日期清单。我希望01-04-2014显示为Jan 401-05-2014显示为Jan 5。我该怎么做呢?这是我的代码:

$dates = array();
$timestamp = strtotime('-30 days');
for ($i = 0 ; $i <=30 ; $i++) {

    //insert the date
    $dates[$i]= date('m-d-Y', $timestamp);

    //increase the day
    $timestamp += 24 * 3600;
}

首先,我希望获得日期,然后转换为循环。

5 个答案:

答案 0 :(得分:5)

使用DateTime个对象:

$str = '01-04-2014';
$dateObj = DateTime::createFromFormat('m-d-Y', $str);
echo $dateObj->format('M d');

输出:

Jan 04

<强>解释

有关其他可用格式选项的列表,请参阅documentation for date()

答案 1 :(得分:2)

date可以为您完成所有这些:

echo date("M j", $timestamp);

它还有更多格式化选项。

答案 2 :(得分:2)

尝试:

$dates = array();
$timestamp = strtotime('-30 days');
for ($i = 0 ; $i <=30 ; $i++) {
   $dates[$i]= date('M j', $timestamp);
   $timestamp += 24 * 3600;
}

答案 3 :(得分:1)

试试这个

$date = new DateTime('01-04-2014');
echo $date->format('d,M H:i:s');

答案 4 :(得分:0)

试试这个。它适用于所有PHP版本

$input = '01-04-2014';
$a = explode('-',$input);
$result = strftime("%b",mktime(0,0,0,$a[0])).''.intval($a[1]); 
echo $result;

Demo