hora español php time

español - La salida está en segundos. convertir a formato hh: mm: ss en php



string to date php (9)

1)

$newtime = sprintf( "%02d:%02d:%02d", $time / 3600, $time / 60 % 60, $time % 60 );

2)

$newsec = sprintf( "%.2f", $time );

  1. Mi salida está en el formato de 290.52262423327 segundos. ¿Cómo puedo cambiar esto a 00:04:51?

  2. La misma salida que quiero mostrar en segundos y en formato HH: MM: SS, así que si es segundos, quiero mostrar solo 290.52 segundos. (¿Solo dos enteros después del punto decimal)? ¿Cómo puedo hacer esto?

Estoy trabajando en php y el resultado está presente en la variable $time . desea cambiar este $time a $newtime con HH: MM: SS y $newsec como 290.52.

Gracias :)


1)

function foo($seconds) { $t = round($seconds); return sprintf(''%02d:%02d:%02d'', ($t/3600),($t/60%60), $t%60); } echo foo(''290.52262423327''), "/n"; echo foo(''9290.52262423327''), "/n"; echo foo(86400+120+6), "/n";

huellas dactilares

00:04:51 02:34:51 24:02:06

2)

echo round($time, 2);


No sé si esta es la forma más eficiente, pero si también necesita mostrar días, esto funciona:

function foo($seconds) { $t = round($seconds); return sprintf(''%02d %02d:%02d:%02d'', ($t/86400%24), ($t/3600) -(($t/86400%24)*24),($t/60%60), $t%60); }



Prueba este

echo gmdate("H:i:s", 90);


Prueba esto :)

private function conversionTempsEnHms($tempsEnSecondes) { $h = floor($tempsEnSecondes / 3600); $reste_secondes = $tempsEnSecondes - $h * 3600; $m = floor($reste_secondes / 60); $reste_secondes = $reste_secondes - $m * 60; $s = round($reste_secondes, 3); $s = number_format($s, 3, ''.'', ''''); $h = str_pad($h, 2, ''0'', STR_PAD_LEFT); $m = str_pad($m, 2, ''0'', STR_PAD_LEFT); $s = str_pad($s, 6, ''0'', STR_PAD_LEFT); $temps = $h . ":" . $m . ":" . $s; return $temps; }


Prueba esto:

$time = 290.52262423327; echo date("h:i:s", mktime(0,0, round($time) % (24*3600)));


$iSeconds = 290.52262423327; print date(''H:i:s'', mktime(0, 0, $iSeconds));


echo date(''H:i:s'',$time); echo number_format($time,2);