代码之家  ›  专栏  ›  技术社区  ›  Deepak3301086

如何在PHP中按日期()函数显示时间

php
  •  0
  • Deepak3301086  · 技术社区  · 7 年前

    我得到了价值 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 回复  |  直到 7 年前
        1
  •  0
  •   Flames    7 年前

    请试试这个

    $time =  9;
    echo date( 'H:i:s', strtotime( number_format($time, 2)));
    
        2
  •  0
  •   Anthony    7 年前

    以下是如何用所需的任何值填充日期变量:

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

    参见文档 mktime

        3
  •  0
  •   Jason Grim    7 年前

    看来主要问题是导入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";
    
        4
  •  -2
  •   Nishith Adhvaryu    7 年前

    为了 12小时 甲酸盐 回音日期(“h:i:s a”); 为了 24小时 甲酸盐 回音日期(“H:i:s”);

    推荐文章