我从要打印为时间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。
答案 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”);