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 o recibín por 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óstrofes 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.