2009-01-26 8 views
6

Question légèrement étrange, mais j'espère que quelqu'un peut vous aider. En résumé, si l'heure était 12 heures, le pourcentage écoulé serait de 50%, 6 heures 25% et 16 heures 75%. Compte tenu de l'heure actuelle, comment pourriez-vous calculer la quantité de jours qui a déjà passé?Calculez le pourcentage de la journée qui s'est écoulée

Répondre

12

En supposant que vous pouvez obtenir l'heure actuelle, ce serait joli facile de calculer le pourcentage du jour écoulé.

percentage = (hours/24 + minutes/(60 * 24)) * 100 
+0

Merci, a travaillé un régal :) – Tom

+0

un trop grand nombre entre parenthèses il ... le premier pourrait être retiré. –

+1

@FredBergman Corrigé. – sykora

4

24 heures sont 100% donc 24/currentTime = résultat 100/result =%;)

0

Je ne sais pas php, mais est-il un moyen d'obtenir la sorcière date actuelle, je suppose: P vous pouvez extraire le heures en dehors de cette ou minutes combien exact voulez-vous être ?, heures actuelles/24 * 100: P minutes actuelles/1440 * 100

3

gettimeofday (true) retourne le nombre de secondes écoulées depuis minuit comme un flotteur (je pense), si vous voulez: gettimeofday(true)/(60*60*24). Multipliez par 100 pour obtenir un pourcentage.

EDIT: En fait, gettimeofday renvoie le nombre de secondes écoulées depuis le début de l'époque, donc vous devez soustraire minuit:

$midnight = strtotime('00:00'); 
$epochseconds = gettimeofday(true); 
$timeofdayseconds = $epochseconds - $midnight; 
$timepercent = $timeofdayseconds/(60*60*24)*100; 
+1

Notez, cela fonctionne la plupart du temps SAUF les jours DST! Aujourd'hui, mon horloge est retourné une heure et cette fonction échoue comme le nombre d'heures du dimanche minuit et dimanche 20 heures ont une heure supplémentaire! Être averti –

Questions connexes