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(12089);
function mostrarDiasMes($mes$anno){
$miFechagmmktime(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(12089);
function mostrarDiasMes1($mes$anno){
$miFecha1gmmktime(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.