【问题标题】:date/time format in PHP [closed]PHP中的日期/时间格式[关闭]
【发布时间】:2013-02-14 07:43:15
【问题描述】:

我已经在 mysql 表中存储了一些数据,我指定了他的日期
我使用列 id 输入 timestamp 并将其存储为 '2013-02-12 21:42:45'
我想以这种格式显示它'Feb-2, 2013 9:42 PM'
我使用 echo date('M-d ,Y',$create_date) 然后它显示 'Jan-01 ,1970' 和一些 php eroor

谁能帮帮我

【问题讨论】:

标签: php mysql sql codeigniter


【解决方案1】:

这将输出你想要的日期时间格式

<?php

//Output -- Feb-2, 2013 9:42 PM

$create_date = '2013-02-12 21:42:45';
echo date('M-d ,Y  g:i a',strtotime($create_date));

【讨论】:

    【解决方案2】:
    date('M-d ,Y h:i A',strtotime($create_date))
    

    试试这个 strtotime 将时间转换为时间戳,然后你可以格式化日期。

    【讨论】:

    • 它只显示日期格式而不是时间我也想显示时间
    • 编辑后的答案请检查
    【解决方案3】:

    如果您想通过查询来完成,请使用DATE_FORMAT

    SELECT DATE_FORMAT('2013-02-12 21:42:45','%b-%e, %Y %l:%i %p') result
    

    【讨论】:

    • 如果您在数据库中保存日期,这是格式化日期的正确快捷方式
    【解决方案4】:

    date() 函数需要时间戳作为第二个参数。使用DateTime 对象创建日期,然后使用DateTime::format 函数。

    $date = new DateTime($create_date);
    echo $date->format('M-d ,Y g:i A');
    

    【讨论】:

      【解决方案5】:

      读取 php 文件日期:http://php.net/manual/en/function.date.php

      date函数的第二个参数是unix时间戳,不是字符串(任何格式)

      所以您想将您的字符串转换为时间戳(可能考虑到时区),然后使用它以您想要的方式重新格式化您的日期:

      例如

      date_default_timezone_set('<timezone of create_date>'); 
      $date = date('M-d ,Y',strtotime($create_date)):
      

      顺便说一句,此代码将重置所有随后执行的 php 代码的默认时区...不确定这在您的用例中是否重要

      【讨论】:

        【解决方案6】:

        检查date('M-d ,Y',$create_date) 中的$create_date 变量。它是空白的。此变量中没有值。为此,它显示 1970。在$create_date 中指定日期。

        【讨论】:

          【解决方案7】:

          但如果您需要以不同格式显示日期,最好将其作为时间戳存储在数据库中。在 php 上,这个值可以由函数 time() 生成;

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-05-01
            • 1970-01-01
            • 2015-08-29
            • 2016-05-02
            • 1970-01-01
            • 2014-03-02
            • 2012-07-02
            相关资源
            最近更新 更多