Ho 3 variabili: $mese , $giorno, $anno
I loro formati sono: Mar, 13, 2006 (esempio della data odierna).
Come posso convertire il tutto nel formato numerico standard 13/03/2006????
Ho 3 variabili: $mese , $giorno, $anno
I loro formati sono: Mar, 13, 2006 (esempio della data odierna).
Come posso convertire il tutto nel formato numerico standard 13/03/2006????
In php è facile passare da un timestamp ad un qualsiasi formato di data. Ma è problematico passare da un formato data ad un altro. Purtroppo devi farti una funzione apposita che ti converte i nomi dei mesi in numero. L'ideale sarebbe mettere tutti i nomi dei mesi in un array e poi andare a pescare l'indice.
In ogni caso dicci come hai queste date e vediamo se possiamo fare qualcosa con le funzioni predefinite di php!
I dilettanti costruirono l'Arca, i professionisti il Titanic!
Ho una variabile $col che contiene la data in questo formato "Mar 13". Io avrei bisogno anche di aggiungere ad essa l'anno corrente.
In più ho necessità di non visualizzare la scritta Mar (per indicare il mese) ma il numero 03 (caso: mese di marzo). Riassumendo:
formato data attuale: "Mar 13"
formato data cercato: "13-03-2006" (deve essere confrontata con date contenute in Mysql).
Ciao e grazie
fatti una funzione getMonthNumFromName():
function getMonthNumFromName($fStrName){
$arrMonth=array( 'Jen','Feb','Mar', ...... METTI TUTTI I MESI NEL FORMATO CHE HAI ....., 'Dec');
$blnStop=false;
for ($i=0;$i<count($arrMonth) $blnStop==false ;$i++){
if ( strcmp($arrMonth[$i],$fStrName)==0 ){
$blnStop=true;
}
}
// incrementi altrimenti gennaio ti viene come mese 0
$i++
return $i;
}
Ovviamente questa funzione ti restituisce il mese con una singola cifra: 1,2,3 e non 01, 02, 03. Se vuoi fare così basta che controlli la lunghezza della variabile $i (intesa come stringa) e ci aggiungi uno zero avanti prima di restituirla.
I dilettanti costruirono l'Arca, i professionisti il Titanic!
scusami ma non c'è una funzione predefinita in php che mi converte la data in timestamp???
C'è la mktime ma prende in ogni caso dei valori numerici, quindi se hai MAR devi prima convertirlo in numero. Ma se lo converti in numero non ti serve più usare il timestamp in questo caso.
Ho modificato il post di prima, dacci uno sguardo!
I dilettanti costruirono l'Arca, i professionisti il Titanic!
scusami ma a questo punto invece di fare una funzione faccio un case con tutti i mesi dell'anno, non è più veloce e meno incasinato????
Usare le funzioni non è MAI più incasinato. Ricordati che sei sempre in un linguaggio procedurale. E poi se devi usare due volte il codice che fai? Copia e incolla dello switchone? Cmq lo switch potrebbe anche andare bene (anke se usare un array è molto + elegante, magari non come ho detot io, ma con un array associativo, in modo che eviti che ti debba scorrere tutti gli elementi ed hai l'accesso diretto) MA usa sempre una funzione per le operazioni ripetibili!
I dilettanti costruirono l'Arca, i professionisti il Titanic!