PHP: Cantos días ata o Nadal?

Can de NadalTemos un cliente que ten un especial que só é bo ata o Nadal e a configuración dos días ata a caducidade está nun campo gardado na base de datos.

Necesitaba escribir un traballo cron (traballo programado) que actualizase o campo de cada un dos seus restaurantes cada noite. Nunca antes escribira ningún traballo cron - grazas ao meu colega, Tim, en Imavex por levarme na dirección correcta. Mesmo recibín un correo electrónico pola mañá para avisarme de que tivo éxito.

De todos os xeitos, pensei que, xa que escribira o código de todos os xeitos, podería compartir a diversión e darllo a coñecer a xente:

$ mes = 12;
$ día = 25;
$ ano = data ("Y");
$ días = (int) ((mktime (0,0,0, $ mes, $ día, $ ano) - hora (void)) / 86400);
if ($ días> 0) {
$ ano = $ ano + 1;
$ días = (int) ((mktime (0,0,0, $ mes, $ día, $ ano) - hora (void)) / 86400);
}
cambiar ($ días) {
caso 0:
eco "Bo Nadal!";
romper;
caso 1:
eco "É Noiteboa!";
romper;
por defecto:
eco "Hai". $ días. "¡máis días ata o Nadal!";
}

Coidado coa copia e co pegado da publicación, ás veces os apóstrofos quedan desordenados. Se tes WordPress, poderías inserilo no código da túa páxina e amosalo. Non estou seguro de que a todos lles entusiasme que o Nadal estea a só 48 días de distancia, pero que diaños!

Se quixese, incluso podería elaborar a declaración do caso e facer os 12 días de Nadal. 🙂

Este código tamén ten en conta o ano, polo que o ano que vén seguirá funcionando.

4 Comentarios

  1. 1
  2. 3

    Ola Doug,

    Grazas por este fragmento de código. 🙂 Intento poñelo na barra lateral do meu blog como widget. Peguei o código e só mostra o código en bruto na páxina .. Non sendo un asistente php .. Hai algunha forma "sinxela" de facelo funcionar?

    Grazas,
    Dan

¿Que pensas?

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.