PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#126 Re : Forum Général PHP » Formater une durée à l'origine en seconde » 11-05-2009 16:13:09

Pour ce qui est de la limitation dans date() la première barrière que j'ai rencontré avant le problème de la qualité de la gestion date, c'est la longueur du integer sur une plateforme 32 bits...
Du coup je ne peux pas descendre en dessous de :
01y 12m 13d 20h 55min 13s

#127 Re : Forum Général PHP » Formater une durée à l'origine en seconde » 11-05-2009 16:13:09

Alors juste à titre informatif.

M'aidant des conseils de MK je me met en quête du timestamp de l'an 0 pour pouvoir faire mes calculs de durées ^^
Donc je me dis, je vais feinter, je vais demander à mktime() de me donner le timestamps de mktime(0,0,0,0,0,0);
De ça il me retourne : 943916400 roll
Ok... et quand j'utilise le formatage de date() fourni par MK j'obtiens le résultat suivant :
99y 11m 30d 00h 00min 00s

Ca doit pas être la bonne manière, je vous tiens au courant quand j'aurais trouvé le timestamp de l'an 0 big_smile

#128 Re : Forum Général PHP » Formater une durée à l'origine en seconde » 11-05-2009 16:13:09

Oui parser le résultat je sais faire ^^

Mais encore une fois il s'agit d'une durée et non d'une date définie par un timestamp.
C'est une fonction qui pourrait être utilisée pour afficher le temps qu'une page à mise à se charger par exemple.
On démarre le chrono au début du script, on l'arrête en fin de script et on obtient un nombre de secondes.
De ce nombre de secondes tu affiche "1min 32s"
Donc à ce niveau je suis capable, mais ma fonction à moi doit pouvoir gérer les années (je me demande si je pourrais pousser le vice jusqu'à la décennie)

Est ce que je suis clair ou est ce que je suis trop con pour comprendre les réponses ? big_smile

#129 Re : Défouloir » Quel style présentation avez-vous choisi ? » 04-06-2009 09:15:15

Hello tout le monde,

Moi je suis passé en noir et vert (ça fait plus g33k) big_smile

#130 Re : Forum Général PHP » liste déroulante qui retourne plusieurs valeurs » 24-12-2018 16:24:22

Hello,

Comme dis le camarade, fais attention à la charte du forum pour ce qui est des balises code, quand tu mets du code pense à l'encadrer des marqueurs : [\c\o\d\e][/\c\o\d\e] (sans les \)

Je ne comprends pas ton problème, tu ne l'expose pas vraiment correctement en fait ^^

Tu as donc un select multiple qui affiche une liste d'hotel : OK

Si ton problème est de sélectionner des options spécifiques :
Qu'est ce que tu veux sélectionner dans ta liste ?

Si ton problème est de faire apparaître les valeurs sélectionnées une fois que l'utilisateur clique sur la liste, il faut que tu passes par du JavaScript.

Donc tu vois qu'à partir de ce que tu as écris il y a pleins de réponses possibles, alors essaye d'être un peu plus précis ^^

#131 Re : Forum Général PHP » Formater une durée à l'origine en seconde » 11-05-2009 16:13:09

Hello,

Et bien un timestamp est une date en seconde établi à partir de la naissance d'UNIX si mes souvenir sont bons.
Donc si je lui passe une durée en seconde en param il va me retourner une date et non une durée formatée comme je le voudrais:

<?php
echo date('y\y m\m d\d H\h i\m\i\n s\s', 1);
?>

va afficher : 70y 01m 01d 01h 00min 01s
Alors que je voudrais : '01s' tout seul...

Donc en fait ma question était plutot : En quoi est ce que date() peut m'aider à obtenir ce que je veux ^^

#132 Re : Forum Général PHP » Formater une durée à l'origine en seconde » 11-05-2009 16:13:09

A la réponse d'MK

date() peut travailler avec un timestamp, il me donne donc bien une date...
Je comprends pas comment est ce que je pourrais retravailler un résultat venant de cette fonction???

Merci de m'éclairer big_smile

#133 Forum Général PHP » Formater une durée à l'origine en seconde » 11-05-2009 16:13:09

Maskime
Réponses : 17

Bonjour à tous,

Voici mon petit problème :
J'ai une durée en seconde : 36655552220011 s
et je voudrais la faire apparaitre de manière formatée :
5y 3m 10d 8h 30min 9s [ce résultat est donné à titre d'exemple, je me suis pas amusé à faire le calcul ^^]

Mon souci c'est que je suis parti sur un algo itératif mais je me rends compte qu'il faudrait en fait en faire un récursif. Mon problème est que la base des calculs de temps change tout le temps : d'abord 60 ensuite 24, 30, 12, 10...

Donc j'avoue que je ne sais pas trop comment aborder le problème pour faire une fonction récursive comme il faut...

Merci d'avance pour les conseils prodigués.

Réponse de MK sur l'ancien Forum

Saluton MasKime,
Il va falloir nous rejoindre sur le nouveau forum :
http://forum.phpdebutant.org/index.php
En attendant, pourquoi ne pas retravailler le résultat d'une fonction date()
<?php
$secondes=36655552220011;
echo date('y m d H i s',$secondes); ?>

Pied de page des forums

Propulsé par FluxBB