2009-01-26 47 views
6

Pregunta un tanto extraña, pero con suerte alguien puede ayudar.Calcula el porcentaje del día que ha transcurrido

En esencia, si el tiempo fuera las 12pm, el porcentaje transcurrido sería 50%, 6am sería 25% y 16pm sería 75%.

Teniendo en cuenta la hora actual, ¿cómo se puede calcular la cantidad de días que ya pasó?

Respuesta

12

Suponiendo que puede obtener la hora actual, sería bastante fácil de calcular el porcentaje del día transcurrido.

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

Gracias, funcionaba una delicia :) – Tom

+0

demasiadas paréntesis, hay ... el primero podría ser eliminado. –

+1

@FredBergman Solucionado. – sykora

4

24 horas son 100% modo 24/horaActual = resultar 100/resultado =%;)

0

No sé php pero ¿hay alguna manera de conseguir la bruja fecha actual supongo: P se puede extraer el Horas fuera de este o minutos ¿Qué tan exacta quiere que sea ?, Horas actuales/24 * 100: minutos actuales/1440 * 100

3

gettimeofday (verdadero) devuelve el número de segundos transcurridos desde la media noche como un flotador (creo), por lo que desea: gettimeofday(true)/(60*60*24). Multiplique por 100 para obtener un porcentaje.

EDIT: En realidad, gettimeofday devuelve el número de segundos transcurridos desde el inicio de la época, por lo que necesita para restar la media noche:

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

¡Tenga en cuenta que esto funciona la mayor parte del tiempo, EXCEPTO los días de horario de verano! Hoy mi reloj retrocedió una hora y esta función falla ya que el número de horas desde el domingo a medianoche y el domingo a las 8 pm tiene un extra de +1 hora. Ten cuidado –

Cuestiones relacionadas