【问题标题】:Formatting String into MYSQL time将字符串格式化为 MYSQL 时间
【发布时间】:2010-07-05 04:51:00
【问题描述】:

好的,所以我有一个读取 csv 文件的脚本,其中有一个以传统 HH:MM am/pm 格式格式化的时间。我需要将其转换为 mysql 标准时间格式 (HH:MM:SS)。

这就是我目前所拥有的,并且有效

$schedule[$row]["TIME"] = date("H:i:s", strtotime($data[4]))

问题是,如果输入格式不正确,我无法判断。是否有某种“or die()”功能我可以使用,还是我必须以某种方式检查正则表达式或其他东西?

例如:

12:00 pm 应该是 12:00:00 但是...如果格式有问题 12:d00 p.m 出现在 17:00:00

谢谢, 伊恩

【问题讨论】:

    标签: php mysql string time


    【解决方案1】:

    strtotime 如果解析失败,则返回 false。所以你可以这样做:

    $t = strtotime($data[4]);
    if ($t === false)
        //handle error
    $schedule[$row]["TIME"] = date("H:i:s", $t);
    

    【讨论】:

    • 请注意,在旧的 5.x 版本的 PHP 中,失败的 strtotime 会返回 -1 而不是 false。
    猜你喜欢
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多