如何将excel时间格式转换为PHP类型?

时间:2018-03-13 10:30:19

标签: php excel

我正在PHP项目中执行excel导入功能。 我的excel中有一个时间字段(如16:30) 但是当我将这个excel导入数据库时​​,它会转换为0.6875(16.5 / 24)

如何将0.6875转换为16:30?

注意:此excel文件无法修改,因为它是由计算机生成的。

2 个答案:

答案 0 :(得分:1)

我支持我在关于修复错误问题的评论中所说的内容,但是如果您确实需要,可以用两行来解决这个问题:

$time = 0.6875 * 86400;
echo date('H:i', $time);
  

16:30

答案 1 :(得分:0)

如果真的需要这样做(并且我假设这是因为计算机生成的文件有奇数输出的奇怪要求),那么你可以简单地撤消你的操作做了一些漂亮的打印来帮助。

$the_value = .6875;
$total = $the_value * 24; //multiply by the 24 hours
$hours = floor($total); //Gets the natural number part
$minute_fraction = $total - $hours; //Now has only the decimal part
$minutes = $minute_fraction * 60; //Get the number of minutes
$display = $hours . ":" . $minutes;

如果您需要秒数,那么您可以将您的工作时间分钟数小时。

$minutes_whole = floor( $minutes );
$seconds_fraction = $minutes - $minutes_whole;
$seconds = $seconds_fraction * 60;

相同的毫秒,等等,令人作呕。