【问题标题】:convert from a string into a date in php在php中从字符串转换为日期
【发布时间】:2013-02-20 03:10:55
【问题描述】:

我环顾四周,但总是出错。

我有以下字符串:

$date = "25 Jan 2013 07:30 PM";

但我需要将它作为单独的日期和时间字段添加到 sql 中。有什么建议可以将其转换为日期而不是字符串?当我尝试使用类似的东西时

strtotime($date);

我最终得到:

1359142200

【问题讨论】:

  • 一开始为什么要写成$date = "25 Jan 2013 07:30 PM";?
  • 你最终得到的是一个时间戳。查看 PHP 的 date() 函数进行格式化。
  • @aguyfromhere 它来自 csv 报告

标签: php sql string date


【解决方案1】:

为获得最佳结果,请使用 DateTime::createFromFormat 将 $date 转换为 DateTime 对象,然后使用 DateTime::format 获取单独字段的值。

例子:

$dt = DateTime::createFromFormat("d M Y H:i A", "25 Jan 2013 07:30 PM");

$date = $dt->format("Y-m-d");
$time = $dt->format("H:i:s");

【讨论】:

    【解决方案2】:

    选项 1:

    $date = date("Y-m-d", strtotime("25 Jan 2013 07:30 PM"));
    $time = date("H:i:s", strtotime("25 Jan 2013 07:30 PM"));
    

    选项 2

    $datetime = DateTime::createFromFormat("j M Y H:i A", "25 Jan 2013 07:30 PM");
    $date = $datetime->format("Y-m-d");
    $time = $datetime->format("H:i:s");
    

    【讨论】:

      【解决方案3】:

      所以你只是想让他们分开?比如:

      $year_month_day = date('Y/m/d', strtotime($date));
      $timestamp = date('H:i:s', strtotime($date));
      

      更多信息:http://www.php.net/manual/en/function.date.php

      【讨论】:

        【解决方案4】:

        如果您希望它作为时间戳,那么strtotime() 是要使用的 PHP 函数:- http://php.net/manual/en/function.strtotime.php

        如果您希望它采用 MySQL 日期格式字符串,那么 strtotime() 结合 date() 将是这样的答案:-

        $db_date = date("Y-m-d H:i:s", strtotime($date) );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-19
          • 1970-01-01
          • 1970-01-01
          • 2021-07-14
          • 1970-01-01
          相关资源
          最近更新 更多