PHP date()打印24:00而不是00:00

Dav*_*795 5 php date

PHP date("H:i (d.m.Y)",$timestamp)函数表示当天午夜的00:00.但我需要它代表它作为前一天的24:00.是否可以在不编写全新的date()解析器函数的情况下完成?

编辑:为什么我需要这种"怪异"的格式?因为我的客户要求它.在我的国家(CZ),有时会在提到午夜的时候使用24:00.

edit2:我当前的'脏'解决方案是:(不适用于所有可能的格式字符串)

function date_24midnight($format,$ts)
{
   if(date("Hi",$ts)=="0000")
      return preg_replace('/23:59/',"24:00",date($format,$ts-1));
   else
      return date($format,$ts);
}
Run Code Online (Sandbox Code Playgroud)

exu*_*sum 4

function date_24midnight($format,$ts)
{
   if(date("Hi",$ts)=="0000") {
      $replace = array(
        "H" => "24",
        "G" => "24",
        "i" => "00",
      );

      return date(
        str_replace(
          array_keys($replace),
          $replace, 
          $format
        ),
        $ts-60 // take a full minute off, not just 1 second
      );
   } else {
      return date($format,$ts);
   }
}
Run Code Online (Sandbox Code Playgroud)

这个函数基于你的,但适用于所有格式(我测试过)

所以H:i:s例如,

对于像这样的格式将需要一些额外的工作"\H\i Y-m-d"