dtdvlazd56637
2014-06-06 03:09
浏览 66
已采纳

将日期字符串转换为正确的格式[重复]

This question already has an answer here:

I am importing data from and excel sheet and the dates are formatted like so:

May 5, 2014

I need to convert this to a proper PHP date format like:

Y-m-d

This isn't working:

$new_date = date('Y-m-d', strtotime('May 5, 2014'));
echo $new_date;

Results 1969-12-31

I was thinking that i could do something like this:

$old_date = 'May 5, 2014';
$old_date = str_replace(',', '', $old_date);
$old_date_parts = explode(' ',$old_date);

// Convert month name to number
$may = '5';

// Build new date
$new_date = $old_date_parts[2].'-'.$may.'-'.$old_date_parts[1];

But there HAS to be another way!

Please help. Thank you in advance.

EDIT

Seems that the PHPExcel that i am using doesn't have the function to convert a serial date to a unix time so i used this.

UNIX_DATE = (EXCEL_DATE - 25569) * 86400
</div>

图片转代码服务由CSDN问答提供 功能建议

此问题已经存在 这里有一个答案:

  • 在PHP中将一种日期格式转换为另一种格式 15 answers < / span>

    我从Excel和excel表导入数据,日期的格式如下:

    2014年5月5日

    我需要将其转换为正确的PHP日期格式,如:

    Ymd

    这不起作用:

      $ new_date = date  ('Ym-d',strtotime('2014年5月5日')); 
    echo $ new_date; 
       
     
     

    结果 1969-12- 31

    我以为我可以这样做:

      $ old_date ='May 5,201  4'; 
     $ old_date = str_replace(',','',$ old_date); 
     $ old_date_parts = explode('',$ old_date); 
     
     //将月份名称转换为数字
     $ may  ='5'; 
     
     //建立新日期
     $ new_date = $ old_date_parts [2] .'-'。$ may .'-'。$ old_date_parts [1]; 
       
     
     

    但是还有另一种方式!

    请帮忙。 提前谢谢。

    编辑

    似乎我正在使用的PHPExcel没有这个功能 将序列日期转换为unix时间,所以我使用了它。

      UNIX_DATE =(EXCEL_DATE  -  25569)* 86400 
       
     
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • dongzhui2636 2014-06-06 03:11
    最佳回答
    $date = date_create_from_format('M j, Y', 'May 5, 2014');
    echo date_format($date, 'Y-m-d');
    

    Or OOP Style

    $date = DateTime::createFromFormat('M j, Y', 'May 5, 2014');
    echo  $date->format('Y-m-d');
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题