Ultima versione
Versione stabile:
3.1.5
 
Servizi
» Cerca
 
Cerca
Ricerca parole o frasi all’interno del sito.
 
Statistiche
Visite: 125516
 
Donazioni
Flatnuke e' software libero ed e' distribuito grautitamente. Se pensi che flatnuke ti sia stato in qualche modo di aiuto, puoi contribuire con una donazione libera:

Vuoi saperne di piu'?

 
Login





Non sei ancora registrato?
Registrati ora!
Recupera password
Choose your language:
deutsch english espa?ol fran?ais italiano portugu?s
 
Utenti
Persone on-line:
admins 0 amministratori
users 0 utenti
guests 1 ospiti
 
Netsons Ads

Forum



Benvenuto sconosciutoModifica profiloEntraAiuto 1038 utenti registrati

Navigazione:

[ Forum / Mods estensioni plugins / Tips and tricks / date e ore in formato umano yyyymmddhhiiss ]

Vai alla pagina:
<< <    > >>

UtenteMessaggio
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Giovedi 16 Giugno 2011 11:13:26

Re: date e ore in formato umano yyyymmddhhiiss

in ogni caso il 19 gennaio 2038 è alle porteO:) e prima di allora bisognerà risolvere il problema. non ho fretta.
ZEBDEMON
ZEBDEMON

0
10
Livello 0

levellevellevellevellevellevellevellevellevellevel
profile home page
Jabber Skype
Lunedi 20 Giugno 2011 15:32:01

Re: date e ore in formato umano yyyymmddhhiiss

in ogni caso il 19 gennaio 2038 è alle porteO:) e prima di allora bisognerà risolvere il problema. non ho fretta.


che c'è nel 2038? la fine del mondo è molto prima cmq :flower:

--
..Stand Tall & Shake the Heavens..
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Lunedi 20 Giugno 2011 18:56:15

Re: date e ore in formato umano yyyymmddhhiiss

che c'è nel 2038?
scadono i 32bit per l'indicazione della data nel formato unix.
http://it.wikipedia.org/wiki/Tempo_(Unix)#Anno_2038_e_bit_overflow
ZEBDEMON
ZEBDEMON

0
10
Livello 0

levellevellevellevellevellevellevellevellevellevel
profile home page
Jabber Skype
Lunedi 20 Giugno 2011 19:48:37

Re: date e ore in formato umano yyyymmddhhiiss

che c'è nel 2038?
scadono i 32bit per l'indicazione della data nel formato unix.
http://it.wikipedia.org/wiki/Tempo_(Unix)#Anno_2038_e_bit_overflow


ah non lo sapevo.. cmq dai su che si passa ai 64bit :D

--
..Stand Tall & Shake the Heavens..
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Sabato 07 Aprile 2012 19:06:51

Re: date e ore in formato umano yyyymmddhhiiss

aggiornamento della situazione.

ho inserito in include/phpfunctions un file con le due funzioni di conversione.
aggiungendo un banale controllo ho fatto in modo che entrambe le funzioni restituiscano il valore di input se questo è già nel formato voluto. in questo modo posso applicarla da subito senza creare danni al materiale esistente, in attesa di uno script di conversione di tutti i valori presenti i tutti i file (sistema e utente) di fn. in tale script, con lo stesso controllo, si potrà agire indifferentemente su file da trattare e su file già nel nuovo formato, senza inconvenienti, quindi perchè aspettare?


// funzione 1: unix (o human, fa lo stesso) to human
// restituisce la stringa yyyymmddThhmmss
// ovvero in formato umano leggibile iso 8601
// un timestamp in formato unix numerico.

function tohuman($data) {
// (controllo transizionale) se è in formato unix lo converte,
// altrimenti restituisce lo stesso valore di input.
if (!ereg("T",$data)) $data = date("YmdTHis",$data);
return $data;
}

// funzione 2: human (o unix, fa lo stesso) to unix
// restituisce il timestamp unix di una data leggibile in iso 8601.

function tounix($data) {
// (controllo transizionale) se è in formato umano lo converte,
// altrimenti restituisce lo stesso valore di input.
if (ereg("T",$data)) {
$anno = intval(substr($data,0,4));
$mese = intval(substr($data,4,2));
$giorno = intval(substr($data,6,2));
// qui in mezzo c'è la T, salto un carattere
$ora = intval(substr($data,9,2));
$minuto = intval(substr($data,11,2));
$secondo = intval(substr($data,13,2));
$data = mktime($ora,$minuto,$secondo,$mese,$giorno,$anno);
}
return $data;
}


ora sto cercando in giro per i file tutti i posti dove serve fare la conversione.
la mia prima ricerca è della stringa time( che identifica l'utilizzo del timestamp unix autogenerato. se avete suggerimenti su altre stringhe significative per identificare tutti i punti in cui fare la conversione, siete i benvenuti.
il criterio è:
- prima di scrivere su disco > conversione tohuman
- prima di fare operazioni > conversione tounix
al momento non si presentano problemi, quindi proseguo.

ps
il timestamp è senz'altro utile per i calcoli, ma per tutto il resto...
ZEBDEMON
ZEBDEMON

0
10
Livello 0

levellevellevellevellevellevellevellevellevellevel
profile home page
Jabber Skype
Domenica 08 Aprile 2012 00:31:14

Re: date e ore in formato umano yyyymmddhhiiss

i calcoli riesci a farli anche con il formato umano ;)

--
..Stand Tall & Shake the Heavens..
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Domenica 08 Aprile 2012 17:13:36

Re: date e ore in formato umano yyyymmddhhiiss

pensavo di usare l'iso8601 quindi non è solo numerico ma c'è la T che separa la data dal tempo.
quindi per i calcoli, e per le innumerevoli verifiche digit all'interno del codice (ma sono tutte nesessarie?) dovrò riconvertire.
piccola correzione a
function tohuman($data) {
if (!ereg("T",$data) and $data != "0") $data = date("YmdTHis",$data);
return $data;
}
così evito di convertire il valore 0 inserito da fn quando non esiste un precedente valore (es. utente.php) nella famosa 1970...
ZEBDEMON
ZEBDEMON

0
10
Livello 0

levellevellevellevellevellevellevellevellevellevel
profile home page
Jabber Skype
Martedi 10 Aprile 2012 02:04:07

Re: date e ore in formato umano yyyymmddhhiiss

bebabi34 ha scritto:
pensavo di usare l'iso8601 quindi non è solo numerico ma c'è la T che separa la data dal tempo.
quindi per i calcoli, e per le innumerevoli verifiche digit all'interno del codice (ma sono tutte nesessarie?) dovrò riconvertire.
piccola correzione a
function tohuman($data) {
if (!ereg("T",$data) and $data != "0") $data = date("YmdTHis",$data);
return $data;
}
così evito di convertire il valore 0 inserito da fn quando non esiste un precedente valore (es. utente.php) nella famosa 1970...


io avrei fatto un sano AAAAMMGGHHMMSS e via..

--
..Stand Tall & Shake the Heavens..
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Martedi 10 Aprile 2012 16:39:05

Re: date e ore in formato umano yyyymmddhhiiss

non è così facile da leggere. con la t è molto più facile.
ho cambiato il controllo sullo zero col controllo su "" (perchè anche zero è una data unix e in conversione non ha senso trovarsi valanghe di date del 1970!!!).
cerco tutti i posti in cui fn imposta a 0 un valore assente e lo sostituirò con "".
a parte $arraynews che da qualche problema nella gestione di notizie con nomi file nei due formati, per il resto pare tutto ok.
comincio i test e tra un po' se non ci sono problemi posto le modifiche per chi fosse interessato.
a presto.
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Lunedi 25 Giugno 2012 17:40:41

Ultima modifica di bebabi34 (Lunedi 25 Giugno 2012 17:41:07)

Re: date e ore in formato umano yyyymmddhhiiss

ho notato che nel file /include/xmlrpc/IXR.php ci sono funzioni di conversione date simili a quelle che sto usando per questo topic.
a cosa serve questo file?
posso richiamare le sue funzioni dai file di fn?
se qualcuno ha un minuto, mi può fare un sunto della questione?
grazie in anticipo.

Vai alla pagina:
<< <    > >>

print

Freely inspired to Mollio template