Ho un codice che richiama in php una data, però ho pensato che in php continua a interrogare il server, mentre se lo mettessi in js sarebbe un codice più leggero.
Voi che dite?
Ho un codice che richiama in php una data, però ho pensato che in php continua a interrogare il server, mentre se lo mettessi in js sarebbe un codice più leggero.
Voi che dite?
Salve,
dipende da ciò che s'intende fare eda come lo si vuole sviluppare.
Php lavora lato server mentre js lato client.
Se non ha bisogno di memorizzare alcuna data, forse js è più adatto. In ogni caso sarebbe opprtuno vedere il codice a cui si riferisce.
Cordiali saluti.
Il codice aggiorna il primo gennaio di ogni anno la data
Codice PHP:
if (is_home()) {
$output = '© 2016-'.date('Y').'...';
echo $output;
}
Ultima modifica di albertifoto : 27-11-2020 alle ore 20.00.50
Se vuole sostituirlo in js può usare questo codice:
Cordiali salti.Codice HTML:<div id="data_id"></div> <script type="text/javascript" language="JavaScript"> var d=new Date(); yr=d.getFullYear(); if (yr!=2016) document.getElementById("data_id").innerHTML = "© 2016 - "+yr; </script>
Ultima modifica di GraphOGLRisorse : 27-11-2020 alle ore 20.52.00
La mia domanda non è come sostituirlo, ma quale codice appesantisce meno il sito anche a livello SEO.
Per script semplici come questi, è difficile stabilirlo senza eseguire dei test, comunque non credo che ci sia una differenza significaiva in tempi di caricamento. Ci sono script js come quelli della policy, che incidono molto di più sui tempi di caricamento delle pagine.
Riguardo al seo, a parte le tempistiche di eseguzione, che in questo caso non dovrebbero influire, non vedo in che altro modo possa farlo.
Eseguendo questo script di test TestTimeJsPhp, può verificare che i tempi di esguzione dei due script sono circa gli stessi. Questo vale in questo caso ovviamente.
Quidni può fare come preferisce.
Cordiali saluti.
Ultima modifica di GraphOGLRisorse : 27-11-2020 alle ore 21.45.10
Ok, i tempi sono identici. Allora tengo il php che è più sicuro
Ho messo così, però mostra l'anno in ritardo di un ora, si è aggiornato alle 01:00. Come lo modifico per farlo aggiornare alle 00:00?
Codice PHP:
$output = '© 2016-'.date('Y').'...;
Con php dipende dal fuso orario del server.
Può impostare quello corretto con DateTimeZone():
Cordiali saluti.Codice PHP:
$date = new DateTime('now', new DateTimeZone('Europe/Rome'));
$output = '© 2016-'.date->format('Y').'...;
Con echo la modifica non viene apportata al contatore.
In alternativa, può usare date_default_timezone_set():
ma è il vecchio metodo usato con php 5.x e va messo comunque prima del contatore.Codice PHP:
date_default_timezone_set('Europe/Rome');
Cordiali saluti.
Ultima modifica di GraphOGLRisorse : 02-01-2021 alle ore 15.40.40
Siccome nel tema del sito ho già "date" come codice predefinito, volevo però usarlo modificato ma nell'echo.
Forse allora è meglio tornare al vecchio js.
Il codice che mi avevi dato è questo, cosa metto come echo?
Codice HTML:<div id="data_id"></div> <script type="text/javascript" language="JavaScript"> var d=new Date(); yr=d.getFullYear(); if (yr!=2016) document.getElementById("data_id").innerHTML = "© 2016 - "+yr; </script>
Scsusi, echo è php non ha nulla a che fare con js.
Qui viene stampato a video e aggiornato tramite innerHTML. In js il fuso orario se non precisato, viene usato quello in uso nel browser dell'utente.
PS. Mi è venuti un dubbio...
Sul codice in php intendeva questo?
Cordiali saluti.Codice PHP:
$date = new DateTime('now', new DateTimeZone('Europe/Rome'));
$output = '© 2016-'.date->format('Y').'...;
echo $output;
Ultima modifica di GraphOGLRisorse : 02-01-2021 alle ore 18.12.23
No, intendevo mettere tutto sull'echo.
Ultima modifica di albertifoto : 02-01-2021 alle ore 19.27.03
Ultima modifica di albertifoto : 02-01-2021 alle ore 23.17.57
Ora io ho ancora un codice (l'ultimo) e poi non ti disturbo più. Anche questo entra in azione un'ora dopo quella effettiva italiana. Anche qui vorrei mettere il "new DateTimeZone('Europe/Rome')" come a quell'altro.
Codice PHP:
$giorno = date('d');
$mese = date('m');
if (($giorno >= 1 && $mese == 12) || ($giorno <= 2 && $mese == 1))
echo 'Testo';
Ultima modifica di albertifoto : 03-01-2021 alle ore 09.09.14
Nessu problema.
Questo è il codice aggiornato:
Cordiali saluti.Codice PHP:
$giorno = (new DateTime('now', new DateTimeZone('Europe/Rome')))->format('d');
$mese = (new DateTime('now', new DateTimeZone('Europe/Rome')))->format('m');
if (($giorno >= 1 && $mese == 12) || ($giorno <= 2 && $mese == 1))
echo 'Testo';