Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: pedro,, en 09 de Marzo 2016, 23:49

Título: PHP establecer hora local españa méxico argentina chile perú colombia CU00831B#
Publicado por: pedro,, en 09 de Marzo 2016, 23:49
Hola, respuestas para el ejercicio CU00831B del curso de programación web PHP desde cero.

Citar
EJERCICIO 1
Crea una función php de nombre mostrarDiasMes que reciba como argumentos un mes (valor numérico de 1 a 12) y un año (valor numérico de 4 dígitos) y muestre por pantalla el texto “extendido” correspondiente a la fecha en idioma español. Por ejemplo mostrarDiasMes(1, 2089) deberá devolver: 1 de enero de 2089, 2 de enero de 2089, 3 de enero de 2089, 4 de enero de 2089… hasta 31 de enero de 2089”.

EJERCICIO 2
Repite el ejercicio anterior, pero en esta ocasión mostrando la fecha en formato de hora tal y como se usa en Holanda y en idioma holandés.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejercicio. CU00831B</title>
<meta charset="utf-8">
</head>
<body>
<h1>Ejercicio 1</h1>
<?php			mostrarDiasMes(1, 2089);						function mostrarDiasMes($mes, $anno){				$miFecha= gmmktime(12,0,0,$mes,1,$anno);				setlocale(LC_TIME, 'es_ES.UTF-8');				$diasMes = date('t', $miFecha);				for($i=0; $i<$diasMes; $i++){					if($i==($diasMes -1)){						echo strftime("%d de %B de %Y", gmmktime(12,0,0,$mes,($i+1),$anno)) . '. ';					} else {						echo strftime("%d de %B de %Y", gmmktime(12,0,0,$mes,($i+1),$anno)) . ', ';					}				}			}		?>

<hr>
<h1>Ejercicio 2</h1>
<?php			mostrarDiasMes1(1, 2089);						function mostrarDiasMes1($mes, $anno){				$miFecha1= gmmktime(12,0,0,$mes,1,$anno);				setlocale(LC_TIME, 'nl_NL.UTF-8');				$diasMes = date('t', $miFecha1);				for($i=0; $i<$diasMes; $i++){					if($i==($diasMes -1)){						echo strftime("%d %B %Y", gmmktime(12,0,0,$mes,($i+1),$anno)) . '. ';					} else {						echo strftime("%d %B %Y", gmmktime(12,0,0,$mes,($i+1),$anno)) . ', ';					}				}			}		?>

</body>
</html>

Saludos.
Título: Re:PHP establecer hora local españa méxico argentina chile perú colombia CU00831B
Publicado por: Alex Rodríguez en 11 de Marzo 2016, 11:43
Hola Pedro el ejercicio cumple completo con lo que se pedía. Una posible mejora sería plantear el que para los días que son menores de 10 no se muestre el 0 antes del dígito, por ejemplo hacer que se mostrara 1 de enero de 2089, 2 de enero de 2089 en lugar de 01 de enero de 2089, 02 de enero de 2089

Saludos
Título: Re:PHP establecer hora local españa méxico argentina chile perú colombia CU00831B
Publicado por: pedro,, en 11 de Marzo 2016, 16:53
En ese caso cambiaría '%d' por '%e', esta línea ...

Código: [Seleccionar]
echo strftime("%d de %B de %Y", gmmktime(12,0,0,$mes,($i+1),$anno)) . '. ';
por esta...
Código: [Seleccionar]
echo strftime("%e de %B de %Y", gmmktime(12,0,0,$mes,($i+1),$anno)) . '. ';
Saludos y gracias.