PHP解析一个字符串来创建日期?

时间:2011-12-30 20:12:44

标签: php datetime

好的,我在日期时间字段的mysql数据库中有这个

2011-12-30 14:07:46

我需要使用php来使用这种格式

December 30, 2011, 2:07 pm

所以我用了这个

date("F j, Y, g:i a", $system['date_added']);

但结果是这个错误

A non well formed numeric value encountered in quote.php on line 56

和这个结果

December 31, 1969, 4:33 pm

我知道有

print_r(date_parse($system['date_added']));

但是我得到了一个数组....任何关于解决这个问题的简单方法的想法

4 个答案:

答案 0 :(得分:3)

日期的第二个参数应该是unix时间戳,您可以使用strtotime获取日期的字符串表示并将其转换为unix时间戳:

date("F j, Y, g:i a", strtotime($system['date_added']));

答案 1 :(得分:3)

您可以使用strtotime

date("F j, Y, g:i a", strtotime($system['date_added']));

答案 2 :(得分:2)

date()的第二个参数是一个UNIX时间戳,你给它 2011-12-30 14:07:46 这不是。

有两种方法可以解决这个问题。任何一个都可以工作。

  • 将日期作为UNIX时间戳抽出。

    SELECT UNIX_TIMESTAMP(`field`) FROM ...
    
  • 使用strtotime()解析日期。

    $timestamp = strtotime($system['date_added']);
    date("F j, Y, g:i a", $timestamp);
    

答案 3 :(得分:0)

用strtotime()

包装你的db-date

http://php.net/manual/en/function.strtotime.php