将未格式化的时间编号格式化为24小时可读

时间:2016-06-27 13:57:11

标签: php

我的客户已在我们的系统中输入了一些开始和结束日期,我希望能够使用PHP格式化它。

值为9301530。处理1530变量很好,但是930返回false。

到目前为止,这是我的脚本,但没有成功。错误返回bool(false),因为它无法获得可读时间(我相信?)

    $time = DateTime::createFromFormat('Hi', $var);
    $format = "H:i";
    $result = $time->format($format);

2 个答案:

答案 0 :(得分:0)

那是因为你的初始时间格式不明确。假设你有时间没有前导零,你可以做这样的事情:

$var = '930';
$time = DateTime::createFromFormat('Hi', str_pad($var, 4, '0', STR_PAD_LEFT));
$format = "H:i";
$result = $time->format($format);

答案 1 :(得分:0)

我不打算使用DateTime,拆分它并加入它:

$var = 1530;
$minutes = substr($var, -2, 2);
$hours = str_replace($minutes, '', $var);
$time = $hours . ':' . $minutes;

然后在字符串上使用DateTime:

$dateTime = new DateTime($time);
$time = $dateTime->format('H:i');