Newsgroup: it.comp.www.php
Titolo: getdate() ti voglio bene

Ciao
una domandina
spesso a chi chiede come gestire il tempo in php
vengono sempre proposte le funzioni come
mktime()
time()
date()
strtotime()
eppure c'e' la semplicissima getdate() che non viene mai menzionata
ed io ho deciso di prendere le difese di questa semplice e ricca 
funzione...
$oggi = getdate();
$oggi[seconds] => 4
$oggi[minutes] => 2
$oggi[hours] => 16
$oggi[mday] => 21
$oggi[wday] => 5
$oggi[mon] => 11
$oggi[year] => 2006
$oggi[yday] => 89
$oggi[weekday] => Sunday
$oggi[month] => October
$oggi[0] => 1111154879   <----time stamp
Ciao!

 strtotime()
fammi la differenza tra date -)

 Un possibile impiego di una data in formato Unix Timestamp potrebbe 
essere riscontrato con i Database, per la creazione di tutte quelle
applicazioni che richiedono la registrazione di Date in determinate
tabelle e successive operazioni. Una data salvata in formato
Unix Timestamp presenta una migliore gestione rispetto al
formato tradizionale 00-00-0000 00:00.
ma non riesco a capire perche' l'autore afferma questa cosa...

 ma non riesco a capire perche' l'autore afferma questa cosa...
Penso perché il timestamp è "univoco", mentre il formato 00-00-0000
potrebbe essere sia dd-mm-yyyy che mm-dd-yyyy. Inoltre, col timestamp
puoi fare la differenza tra date con una semplice sottrazione. Con le
date "classiche" devi usare delle funzioni apposite...
Saluti,
David
-- 
Linux Registered User #334216
Get FireFox! >> 
http://www.spreadfirefox.com/?q=affiliates&id=48183&t=1
Staff >> 
http://www.debianizzati.org
 <<

 
Sai per caso come si comporta una data salvata in timestamp con il 
passaggio all'ora legale? Io ho sempre usato il timestamp, ma sono 
attratto dal formato tradizionale, più "admin friendly"... :-)
Solo che prima di farlo (non è proprio una passeggiata con le 
applicazioni in produzione), vorrei avere maggiori informazioni a 
riguardo... leggere queste righe mi ha fatto ripensare al passaggio....
Gabriele



Ecco, ripensaci del tutto, perlomeno se la motivazione è l'admin  
friendliness.
Lo unix timestamp è il numero di secondi trascorsi dall'epoca unix, alla  
data memorizzata.
Consente una migliore gestione per il semplice fatto che, a differenza  
delle date, gestisce unicamente le date dal 1970 ad oggi e non quelle  
anteriori. Questo presuppone che occupi meno spazio sia nelle tabelle che  
negli indici, e questo in effetti può essere utile.
Ma che vuol dire 'admin friendliness'? Un admin ha bisogno, in alcuni  
casi, di guardare la base dati e capire a colpo d'occhio come stanno  
andando le cose, e con il timestamp questo colpo d'occhio non ce l'hai  
(certo, esistono funzioni di conversione in mysql e php, ma è un passaggio  
in piu', che può risultare scomodo).
Non è vero inoltre che ci sono problemi a distinguere 'dd-mm-yyyy' e  
'mm-dd-yyyy'. Le date memorizzate su mysql (suppongo usiate quello) sono  
in formato iso, quindi sempre 'yyyy-mm-dd ora:min:sec' (Y-m-d H:i:s), a  
condizione che si usi un campo Date e non un varchar (che sarebbe stupido).
Se uno ha bisogno di un unix timestamp dovrebbe usare il timestamp di  
mysql che è l'equivalente del cugino unix ed ha le stesse limitazioni  
(parte dal 1970) e viene sputato fuori in formato "YmdHis".
Al di là di questo, le differenze di prestazioni su database piccoli-medi  
sono così insignificanti che prima di migrare applicazioni in produzione  
ci penserei veramente due volte.
Tac
-- 
Using Opera's revolutionary e-mail client: 
http://www.opera.com/mail/

 passaggio all'ora legale? 
Non si comporta.
Il timestamp e` il numero di secondi dall'epoch. Idealmente e` riferito al
GMT (meridiano di Greenwich).
Devi poi essere tu a usare le funzioni che formattino questo numero per il
tuo fuso orario e per l'ora legale.
Il problema e` che Windows (e con lui il 90% dei PC) ha l'orologio del
BIOS impostato sull'ora corrente, quindi il timestamp e` poco affidabile.
Nei sistemi Unix in generale e Linux in particolare, l'orologio del BIOS
e` impostato sull'ora di Greenwich, e il sistema mostra l'ora locale in
base alla configurazione del sistema. Questo rende molto piu` semplice la
gestione di tutto quello che riguarda data e ora.
Bye.