Autor Tema: PHP establecer hora local españa méxico argentina chile perú colombia CU00831B#  (Leído 3509 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
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.
« Última modificación: 17 de Marzo 2016, 08:47 por Mario R. Rancel »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
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

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
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.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".