【问题标题】:A non well formed numeric value encountered遇到格式不正确的数值
【发布时间】:2014-09-18 09:39:09
【问题描述】:

我正在做一个需要匹配两个日期的项目。一个存储在数据库中,一个是当前日期时间。我决定为此使用 unix 时间戳。我会将这两个值转换为 unix 时间戳,然后进行比较。

我使用以下代码生成 unixtimestamp,但它给了我以下错误:- 遇到格式不正确的数值

我已经解决了六个关于堆栈溢出的问题,但没有一个对我的情况有所帮助。

$date =date("Y-m-d H:i:s A");
echo mktime($date);

可能的解决方案是什么?

【问题讨论】:

    标签: php


    【解决方案1】:

    你用错了函数,你不想用mktime而是strtotime

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

    但是 PHP 当前不支持您传递的日期格式。你必须放弃APMAM)。

    要删除 AM/PM:

    echo strtotime(substr($date, 0, -2));
    

    【讨论】:

    • 好的,没有任何功能可以制作包括 AM 或 PM 在内的 unix 时间戳?
    • 我不这么认为。但是您的日期是 24 小时格式,只需删除 AM/PM 并将其传递给 strtotime。
    【解决方案2】:

    如果要生成当前的 unix 时间,只需使用不带参数的 mktime()。查看http://php.net/manual/en/function.mktime.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-08
      • 2013-05-27
      相关资源
      最近更新 更多