Problème de formatage des secondes en heures/minutes

Bonjour,

J’ai un soucis d’affichage d’heure. J’ai un virtuel qui récupère une durée (14768) que je veux afficher en heures/minutes. En théorie, ça me fait 4h 06 mn et 08s
Je cale après 2 jours de recherches. J’ai compris que le virtuel doit être une info de format « Autre »

date(h i s,variable(TimeCharge)) me renvoie 05 06 08 :roll_eyes: :roll_eyes:

Pourquoi ce décalage d’une heure en plus ? heure d’été ? TVA ? :grin:

Si quelqu’un peut m’expliquer, merci d’avance.

bonjour @Arno-Strasbourg
Essai avec gmdate a la place de date !

Si non tu peut aussi ajouter ou retrancher 3600 a ta valeur de départ selon l’heure d’été ou d’hiver.

:rofl: :joy: Est-ce que tu peux m’expliquer ?

https://www.php.net/manual/fr/datetime.format.php

https://www.php.net/manual/fr/function.gmdate.php

OK, je comprend. Il interprète cela comme une vraie date. Et donc il fait référence à l’heure GMT.
Fallait savoir. Merci.

Alors du coup mon problème c’est déplacé car mon widget n’accepte que les format numériques.
Y’a t’il un autre moyen de faire la conversion, mathématiquement parlant ?

1 « J'aime »

quel résultat veut tu a la final
car la solution n’est a mon avis que dans le format que tu utilise

Hello
Pourquoi tu n’essaies pas « convertduration » ?

1 « J'aime »

J’aimerais qu’il m’affiche 04h08 si possible

Regarde le post au dessus

J’imagine que si c’est un numérique, on ne peut pas mettre le ‹ h ›

Oui, j’ai compris le principe. Merci à tous les 2

gmdate(H\hi,17000)

1 « J'aime »

Salut,

Perso je passe par une fonction que j’ai ajouté dans user.function.class.php

	public static function seconds_to_time($_seconds) {
		$ret = "";
		$days = intval(intval($_seconds) / (3600*24));
		if($days> 0)
		{
			$ret .= "$days j ";
		}
		$hours = (intval($_seconds) / 3600) % 24;
		if($hours > 0)
		{
			$ret .= "$hours h ";
		}
		$minutes = (intval($_seconds) / 60) % 60;
		if($minutes > 0)
		{
			$ret .= "$minutes m ";
		}
		$_seconds = intval($_seconds) % 60;
		if ($_seconds > 0) {
			$ret .= "$_seconds s";
		}
		return $ret;
	}

Capture d’écran du 2020-05-01 17-21-22

Oui, ç’est super. Merci

@naboleo je vais voir ce que je peux en faire. Merci pour le partage.

De rien c’est un plaisir.

Pense à cocher la case “solution” sur le message qui répond à la demande. ça fermera automatiquement la sujet et fera remonter la réponse sur le 1er post pour que ceux qui auraient la même demande visualisent immédiatement la solution.

2 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.