Bug in PHP: easter_date [risolto]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Bug in PHP: easter_date [risolto]

Messaggio da aschenaz »

Parlo di PHP 5.4.6 (in current).

Provate a lanciare

Codice: Seleziona tutto

<?php
echo date("d-m-Y",easter_date());
?>
Restituisce 7-4-2012. Solo che Pasqua è stata l'8 aprile.

Direte: "Che ti frega, tanto ormai Pasqua è passata!". Sì, ma io gestisco alcuni siti di argomento religioso e, dalla data della Pasqua, dipende praticamente tutto il calendario liturgico, quindi le date risultano sfalsate di un giorno. Naturalmente posso risolvere subito aggiungendo un giorno alla data di Pasqua, ma il bug, a quanto pare c'è e l'ho segnalato: https://bugs.php.net/bug.php?id=63047

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Bug in PHP: easter_date

Messaggio da conraid »

Nelle ultime versioni di PHP è "obbligatorio" settare il timezone, se usi Xdebug te lo segnala come errore per esempio.
http://www.php.net/manual/en/datetime.c ... e.timezone
Mettilo in php.ini se puoi o nello script tramite http://www.php.net/manual/en/function.d ... ne-get.php

Vedrai che con Europe/Rome ti mette 8 aprile, prende UTC di default, magari si sballa rispetto al tuo sistema e non calcola bene la data, ricorda che sono sempre "millesecondi" dal 1970

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Bug in PHP: easter_date

Messaggio da aschenaz »

#-o
E dire che l'avevo settato, proprio perché mi segnalava errore! Solo che poi, con gli ultimi aggiornamenti, php.ini è stato sovrascritto...
Che figuraccia! Ora mi tocca andare ad annullare la segnalazione su php.net.

Grazie Corrado. :)

Rispondi