【问题标题】:PHP convert string into date timePHP将字符串转换为日期时间
【发布时间】:2018-03-29 22:00:50
【问题描述】:

我有一个来自 db 的 php 字符串,它是 20/11/2017 我想将它转换为毫秒。 这是我这样做的代码。

$the_date = "20/11/2017";
$mill_sec_date = strtotime($the_date);
var_dump($mill_sec_date);

但它不打印任何东西,而不是

bool(false);

是什么问题,我该如何解决????

【问题讨论】:

  • 请参阅php.net/manual/en/datetime.formats.php 了解支持的日期和时间格式列表。
  • 显示毫秒,如时间戳秒 * 1000 ?
  • 我需要将它乘以 1000 ???????
  • 是的,因为strtotime返回一个unix时间戳,它以秒计算,而不是毫秒。
  • 但是strtotime返回false,我怎么先解决?????

标签: php string time timestamp


【解决方案1】:

你的字符串不被strtotime所接受,你可以使用createFromFormat设置如下的时间字符串的格式类型,你也可以检查live demo。你也可以参考这个answer

var_dump(DateTime::createFromFormat('d/m/Y', "20/11/2017"));

【讨论】:

    【解决方案2】:
    $time = strtotime('10/16/2003');
    
    $newformat = date('Y-m-d',$time);
    print_r($newformat);
    

    【讨论】:

    • 谢谢兄弟。如果解决方案解决了您的问题,请不要忘记将此答案标记为正确答案。
    • @kousheralampranto 如果这解决了您的问题,请将答案标记为该问题的选定答案,
    • 如果我使用“10/16/2013 10:20AM”,它会转换成毫秒吗
    • 是的,你可以这样做,$time_ms = $newformat * 1000;
    【解决方案3】:

    当使用斜线分隔日期部分时,PHP 将格式识别为 MM/DD/YYYY。这使您的日期无效,因为没有第 20 个月。如果要使用日期和月份交换的格式,则需要使用连字符,例如 DD-MM-YYYY。

    【讨论】:

      【解决方案4】:

      很可能您的日期格式有误,请参阅 here 获取支持的日期和时间格式列表:

      本节介绍 strtotime()、DateTime 和 date_create() 解析器可以理解的所有不同格式。

      【讨论】:

        【解决方案5】:

        使用 DateTime 类调用函数 createFromFormat

            $date = date_create_from_format('d/M/Y:H:i:s', $string);
        $date->getTimestamp();
        

        【讨论】:

          猜你喜欢
          • 2012-05-21
          • 1970-01-01
          • 2015-09-17
          • 2011-09-23
          • 2019-05-15
          • 1970-01-01
          • 1970-01-01
          • 2022-08-18
          • 2017-08-31
          相关资源
          最近更新 更多