将Unix时间戳转换为更加用户友好的日期时间格式

时间:2012-03-11 14:39:35

标签: php unix datetime timestamp

我有一个在线下载的javascript datetimepicker,用于选择预订的开始时间和结束时间。

但是,当我选择一个日期和时间时,它会在输入框中以这种格式显示 - 03/12/2012 04:00 pm,我相信这是一个字符串。

到目前为止我所做的是使用strtotime函数,该函数成功地将时间转换为unix时间戳,以便对它们进行比较。

但是,为了将开始和结束时间存储在我的mysql数据库中并将其显示给用户,我需要以更友好和可读的日期时间格式显示日期和时间,例如03/12/2012 04:00或03/12/2012 04:00:00。

有人知道这是否可行,如果可行,怎么做?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用此工作流程。

  1. 03/12/2012 04:00
  2. strtotime()转换为时间戳
  3. date("Y-m-d H:i:s", $timestamp);或使用DateTime

    将时间戳转换为MySQL格式
    $dt = new DateTime();
    $dt->setTimeStamp($timestamp);
    $mysql_date = $dt->format("Y-m-d H:i:s");
    
  4. 当你从mysql中检索日期时再次使用strtotime()

  5. 解析它
  6. DateTime::format("d/m/Y h:i:s a");

    的形式回复HTML / JS
    $dt = new DateTime($mysql_date);
    $user_friendly_date = $dt->format("d/m/Y h:i:s a");
    
  7. 感兴趣的链接

答案 1 :(得分:0)

MySQL数据库还支持存储日期时间格式,例如2012-03-11 23:44:15如果将它们存储为日期时间,也可以轻松地与其他日期进行比较。怎么样?