【问题标题】:php convert timestamp to xml datetimephp将时间戳转换为xml日期时间
【发布时间】:2011-01-30 02:18:30
【问题描述】:

在 PHP 中,如何转换像“1125443836”这样的 mysql 时间戳 到这样的 xml/日期时间:

   <wp:post_date>2011-01-25 02:10:32</wp:post_date> 

更新: mySQL 中的列存储为 int(10)。

根据下面的示例,这是我在我的数据库中使用两个示例值进行的尝试。 有什么问题,可能是存储在 mySQL 表中的哈希或 Unix 日期?

$testSqlDateStamp = "1125443836";
echo "<BR>DateTest=".date('Y-m-d G:i:s',strtotime($testSqlDateStamp));

$testSqlDateStamp = "1125444107";
echo "<BR>DateTest=".date('Y-m-d G:i:s',strtotime($testSqlDateStamp));
echo "<BR>";

结果:

 DateTest=1969-12-31 18:00:00
 DateTest=1969-12-31 18:00:00

第二次更新:无需调用 strtotime 即可工作

$testSqlDateStamp = "1125444107";
echo "<BR>DateTest=".date('Y-m-d G:i:s',$testSqlDateStamp);
$testSqlDateStamp = "1125443836";
echo "<BR>DateTest=".date('Y-m-d G:i:s',$testSqlDateStamp);

结果:

DateTest=2005-08-30 18:21:47
DateTest=2005-08-30 18:17:16

【问题讨论】:

    标签: php xml datetime timestamp


    【解决方案1】:

    'Y-m-d G:i:s' 不是。至少在 2015 年不会(我意识到这已经过时了)。

    在 php 5.2.0 中,DateTime 类对此有一个常量:

    echo 'XML time: ' . date( DateTime::RFC3339, time() ) . '<br>';
    

    DateTime::RFC3339 设置为“Y-m-d\TH:i:sP”。

    【讨论】:

      【解决方案2】:
      date("Y-d-m G-i-s",$time); 
      

      应该可以的。

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

      编辑:这不适用于 mySQL 时间戳,它们必须通过strtotime() info:PHP: strtotime - Manual 转换为 unix 时间戳。

      【讨论】:

      • 请看我的更新,也许我的时间戳格式有些奇怪?
      • 你的成功了,明白了。。谢谢,我很少做PHP,只是写一个小的转换程序。
      【解决方案3】:
      <?php echo '<wp:post_date>' . date('Y-m-d G:i:s',strtotime($yourMysqlDateStampVar)) . '</wp:post_date>';
      

      【讨论】:

      • 请看我的更新,也许我的时间戳格式有些奇怪?
      猜你喜欢
      • 1970-01-01
      • 2013-12-17
      • 2013-09-12
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多