Código de PHP - Función para redondear los minutos

Imágen de perfil

Función para redondear los minutosgráfica de visualizaciones


PHP

Publicado el 8 de Mayo del 2017 por Administrador (718 códigos)
5.282 visualizaciones desde el 8 de Mayo del 2017
Esta función te permite redondear los minutos de una hora a un intervalo indicado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
echo "<br>".round_time("16:12",5); // 16:10 - redondea al mas cercano a los 5 minutos
echo "<br>".round_time("16:07",5); // 16:05 - redondea al mas cercano a los 5 minutos
 
echo "<br>".round_time("16:12",5, "up"); // 16:15 - redondea hacia arriba a los 5 minutos
echo "<br>".round_time("16:07",5, "up"); // 16:10 - redondea hacia arriba a los 5 minutos
 
echo "<br>".round_time("16:12",5, "down"); // 16:10 - redondea hacia arriba a los 5 minutos
echo "<br>".round_time("16:07",5, "down"); // 16:05 - redondea hacia arriba a los 5 minutos
 
 
echo "<br>".round_time("16:12",15); // 16:15 - redondea al mas cercano al cuarto de hora (15 minutos)
echo "<br>".round_time("16:07",15); // 16:00 - redondea al mas cercano al cuarto de hora (15 minutos)
 
echo "<br>".round_time("16:12",15, "up"); // 16:15 - redondea hacia arriba al cuarto de hora
echo "<br>".round_time("16:07",15, "up"); // 16:00 - redondea hacia arriba al cuarto de hora
 
echo "<br>".round_time("16:12",15, "down"); // 16:15 - redondea hacia arriba al cuarto de hora
echo "<br>".round_time("16:07",15, "down"); // 16:00 - redondea hacia arriba al cuarto de hora
 
 
echo "<br>".round_time("16:17:52",30); // 16:30:00 - redondea al mas cercano a la media hora (30 minutos)
echo "<br>".round_time("16:07:52",30); // 16:00:00 - redondea al mas cercano a la media hora (30 minutos)
 
echo "<br>".round_time("16:17:52",30, "up"); // 16:30:00 - redondea hacia arriba a la media hora
echo "<br>".round_time("16:07:52",30, "up"); // 16:30:00 - redondea hacia arriba a la media hora
 
echo "<br>".round_time("16:17:52",30, "down"); // 16:00:00 - redondea hacia arriba a la media hora
echo "<br>".round_time("16:07:52",30, "down"); // 16:00:00 - redondea hacia arriba a la media hora

Versión 1.0
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 11 de Julio del 2017 (Publicado el 8 de Mayo del 2017)gráfica de visualizaciones de la versión: Versión 1.0
5.283 visualizaciones desde el 8 de Mayo del 2017
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella


Forma parte de Round minute down to nearest quarter hour
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
/**
 * Función para redondear una hora
 * Tiene que recibir:
 *	$time -> la hora a redondear en formato hh:mm o hh:mm:ss
 *	$round_to_minutes -> determina el minuto a redondear, por defecto redondea a
 *		5 minutos arriba o abajo
 *	$type -> determina el tipo de redondeo
 *		auto (defecto) - aumenta o disminuye los minutos para ajusta al mas cercado
 *		up - siempre aumenta los minutos
 *		down - siempre disminuye los minutos
 */
function round_time( $time, $round_to_minutes = 5, $type = 'auto' ) {
	$round = array( 'auto' => 'round', 'up' => 'ceil', 'down' => 'floor' );
	$round = @$round[ $type ] ? $round[ $type ] : 'round';
	$seconds = $round_to_minutes * 60;
	if(substr_count($time,":")==2)
		return date( 'H:i:s', $round( strtotime( $time ) / $seconds ) * $seconds );
	else
		return date( 'H:i', $round( strtotime( $time ) / $seconds ) * $seconds );
}
 
echo "<br>".round_time("16:12",5); // 16:10 - redondea al mas cercano a los 5 minutos
echo "<br>".round_time("16:07",5); // 16:05 - redondea al mas cercano a los 5 minutos
 
echo "<br>".round_time("16:12",5, "up"); // 16:15 - redondea hacia arriba a los 5 minutos
echo "<br>".round_time("16:07",5, "up"); // 16:10 - redondea hacia arriba a los 5 minutos
 
echo "<br>".round_time("16:12",5, "down"); // 16:10 - redondea hacia arriba a los 5 minutos
echo "<br>".round_time("16:07",5, "down"); // 16:05 - redondea hacia arriba a los 5 minutos
 
 
echo "<br>".round_time("16:12",15); // 16:15 - redondea al mas cercano al cuarto de hora (15 minutos)
echo "<br>".round_time("16:07",15); // 16:00 - redondea al mas cercano al cuarto de hora (15 minutos)
 
echo "<br>".round_time("16:12",15, "up"); // 16:15 - redondea hacia arriba al cuarto de hora
echo "<br>".round_time("16:07",15, "up"); // 16:00 - redondea hacia arriba al cuarto de hora
 
echo "<br>".round_time("16:12",15, "down"); // 16:15 - redondea hacia arriba al cuarto de hora
echo "<br>".round_time("16:07",15, "down"); // 16:00 - redondea hacia arriba al cuarto de hora
 
 
echo "<br>".round_time("16:17:52",30); // 16:30:00 - redondea al mas cercano a la media hora (30 minutos)
echo "<br>".round_time("16:07:52",30); // 16:00:00 - redondea al mas cercano a la media hora (30 minutos)
 
echo "<br>".round_time("16:17:52",30, "up"); // 16:30:00 - redondea hacia arriba a la media hora
echo "<br>".round_time("16:07:52",30, "up"); // 16:30:00 - redondea hacia arriba a la media hora
 
echo "<br>".round_time("16:17:52",30, "down"); // 16:00:00 - redondea hacia arriba a la media hora
echo "<br>".round_time("16:07:52",30, "down"); // 16:00:00 - redondea hacia arriba a la media hora
 
?>



Comentarios sobre la versión: Versión 1.0 (1)

Imágen de perfil
8 de Mayo del 2017
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3980