[PHP] Estrapolare solo l'anno da una data di nascita inserita in un campo

  • Creatore Discussione Creatore Discussione cardo
  • Data di inizio Data di inizio

cardo

Nuovo Utente
21 Mar 2008
7
0
1
Salve,
ho questo codice:
echo "<div class=\"preiscrizione\">".
"<div class=\"dataNascita\">".$tesserato->dati['data_nascita']->htmlClean()."</div>".

Con il quale viene recuperata la data di nascita, è possibile recuperare solo l'anno?
grazie
 
visto che stai usando php per generare codice html, il codice PHP potrebbe essere modificato così,
PHP:
$dn = DateTime::createFromFormat( 'Y-m-d H:i:s', $tesserato->dati['data_nascita']->htmlClean() );

echo "<div class=\"preiscrizione\">".
     "<div class=\"dataNascita\">".$dn->format('Y')."</div>".

il formato presente nel codice
'Y-m-d H:i:s' equivale ad una data/ora scritta nella forma "2016-02-29 12:07:51";

ma devi cambiarlo per renderlo compatibile con la data che stai usando, per esempio
'd/m/Y' equivale a "29/02/2016"

in questo modo hai certezza del risultato
 
Ho ancora un problema simile, nello stesso file oltre a fare vedere i dati degli iscritti con il solo anno di nascita ho anche la possibilità di creare un file cvs con tutti i dati, avrei anche qui la stessa necessità di inserire solo l'anno di nascita.
Il codice che ho adesso è:
PHP:
fputcsv($fp, array(
                $tesserato->dati['data_nascita']->htmlClean(),
Come devo modificare il codice qui?
grazie
 
anche in questo caso puoi far precedere la "formazione" della data e poi estrarre l'anno come già fatto
PHP:
$dn = DateTime::createFromFormat( 'Y-m-d H:i:s', $tesserato->dati['data_nascita']->htmlClean() );

fputcsv($fp, array(
                $dn->format('Y'),

certo che usando l'anno più volte, sarebbe corretto e pulito estrarre l'anno nella classe usata per instanziare il tesserato, ma va bene anche così….

ps, ricorda di modificare il formato della data come già detto
 

Discussioni simili