elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Fechas en PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Fechas en PHP  (Leído 1,882 veces)
luchi

Desconectado Desconectado

Mensajes: 71


Ver Perfil
Fechas en PHP
« en: 5 Enero 2014, 22:50 pm »

Hola. He encontrado por internet un ejercicio curioso, y esque por muchas vueltas que le he dado no me sale: "El día del trabajo en EEUU -Labor Day- se celebra el primer lunes de septiembre de cada año, visualiza las fechas en las que será el "Labor Day" desde 2014 a 2020". Éste es el enunciado, se debería poder hacer con funciones como "strtotime", "mktime" y similares (con el "date()" seguro que se hace). Lo que he entendido esque debería ser un bucle, pero no sé cómo hacer avanzar las fechas, sé que con strtotime se pueden hacer avanzar días, meses o años ¿pero cómo colocarlo en un lugar tan preciso como "el primer lunes de Septiembre"? mktime ya es más preciso ¿pero cómo hacerle avanzar? :rolleyes:


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Fechas en PHP
« Respuesta #1 en: 6 Enero 2014, 06:24 am »

Lo bonito de strtotime() es que puedes usar fechas relativas. Asi, por ejemplo podemos pedirle que nos devuelva el timestamp del primer lunes de X mes de X año (lo que buscabas.. xD).
Código
  1. echo date('d',strtotime('first monday of september 2014'));

Esto te imprimira 01 ya que el primer lunes de septiembre de 2014 cae en el 1 xD. Luego solo te faltaria implementar el bucle..

Código
  1. <?php
  2. $anos = 5; // 5 años mas el actual (6 en total)
  3. $actual = date('Y');
  4.  
  5. for($i=$actual; $i<=($actual+$anos); ++$i){
  6.   echo 'El primer lunes de septiembre en '.($i).' sera el día: ';
  7.   echo date('d',strtotime('first monday of september '.($i))).'<br />';
  8. }
  9. ?>

Resultado:
Código
  1. El primer lunes de septiembre en 2014 sera el dia: 01
  2. El primer lunes de septiembre en 2015 sera el dia: 07
  3. El primer lunes de septiembre en 2016 sera el dia: 05
  4. El primer lunes de septiembre en 2017 sera el dia: 04
  5. El primer lunes de septiembre en 2018 sera el dia: 03
  6. El primer lunes de septiembre en 2019 sera el dia: 02

Saludos


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
SQL--Where fechas (Condición de fechas) « 1 2 »
Bases de Datos
noobdai 16 37,821 Último mensaje 6 Marzo 2010, 17:38 pm
por noobdai
Fechas en JSP
Desarrollo Web
SanMagic 0 1,919 Último mensaje 17 Mayo 2012, 22:54 pm
por SanMagic
Fechas
PHP
luchi 2 1,919 Último mensaje 27 Abril 2014, 01:31 am
por luchi
Trabajar con Fechas C#
.NET (C#, VB.NET, ASP)
perico02 1 2,287 Último mensaje 6 Noviembre 2015, 03:21 am
por Eleкtro
imprimir fechas
Java
soy_nicanor 3 2,149 Último mensaje 11 Abril 2017, 09:50 am
por Orubatosu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines