我从一个CSV文件中获取值9.0,该文件希望打印为时间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。我想赶时间9:00。
发布于 2018-08-06 12:29:36
请尝尝这个
$time = 9;
echo date( 'H:i:s', strtotime( number_format($time, 2)));发布于 2018-08-06 12:33:11
这是如何用所需的任何值填充日期变量:
<?php
$d=mktime(9, 0, 0);
echo "Created date is " . date("h:i:s", $d);
?>请参阅mktime的文档
发布于 2018-08-06 15:28:35
看来主要的问题是进口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";https://stackoverflow.com/questions/51707623
复制相似问题