如何通过date()函数在PHP中显示时间

时间:2018-08-06 12:26:22

标签: php

我从要打印为时间9.0的CSV文件中获取了值09:00:00
如果我尝试

<?php
$time = 9.01;
echo date('H:i:s', strtotime($time));

显示09:01:00
但是如果我尝试

<?php
$time = 9;
echo date('H:i:s', strtotime($time)); or echo date('H:i:s', strtotime(9.00));

它显示01:00:00。 我想获取时间09:00:00。

4 个答案:

答案 0 :(得分:0)

请尝试这个

$time =  9;
echo date( 'H:i:s', strtotime( number_format($time, 2)));

答案 1 :(得分:0)

这是用所需的任何值填充日期变量的方法:

<?php
$d=mktime(9, 0, 0);
echo "Created date is " . date("h:i:s", $d);
?>

请参阅mktime

的文档

答案 2 :(得分:0)

看来主要问题是导入CSV的日期格式错误。假设您无法更改它,并且该值为{hours}.{minutes}。分钟不是小数,而是介于0到60之间的值。否则,需要进行调整以将一小时的小数转换为分钟。

我正在使用DateTime类来实现这一目标。

$value = 9.1;

if (is_float($value)) {
    $hour = (int)$value;
    $minute = number_format(($value - floor($value)) * 100);

    $date = new DateTime();
    $date->setTime($hour, $minute);
} else {
    $date = new DateTime($value);
}

$formattedTime = $date->format('H:i');

echo $formattedTime . "\n";

答案 3 :(得分:-2)

12小时格式化 echo date(“ h:i:s a”); 24小时格式化 回声日期(“ H:i:s”);