Controllare datetime

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, riprendo in mano questa funzione che mi avevate fatto nei post precedenti..ora come faccio prendere anche l'ora,minuti,secondi?

vi posto la funzione:
PHP:
function isData($data){ 

  $dd = explode('-',$data);

return (preg_match('/^[0-9]{2}-[0-9]{2}-[0-9]{4}$/', $data) && checkdate($dd[1],$dd[0],$dd[2])) ? true : false;  

}

c'è qualche cosa che fa come fa checkdate?

vi ringrazio molto per gli aiuti che mi state dando.

buona serata.
 
Dando un formato di H:i:s questa dovrebbe andarti bene, inoltre non serve un operatore ternario dato che essendo un return torna direttamente il valore della condizione (vero o falso)

PHP:
function isHour($hour){
    
    $dd = explode(':',$hour);
    
    return (preg_match('/^[0-9]{2}:[0-9]{2}:[0-9]{2}$/',$hour) && in_array($dd[0],range(0,23)) && in_array($dd[1],range(0,59)) && in_array($dd[2],range(0,59)));
}

var_dump(isHour('18:35:08'));
 
ciao, non ho ancora provato il codice pero vorrei sapere come posso metterlo insieme alla funzione che vi ho postato prima..

perché io ho fatto cosi:

$data = $_POST["data"];

e controllo la data italiana in un input-text..
come faccio mettere anche quello lì?

grazie e buona giornata.
 
ciao, non ho ancora provato il codice pero vorrei sapere come posso metterlo insieme alla funzione che vi ho postato prima..

perché io ho fatto cosi:

$data = $_POST["data"];

e controllo la data italiana in un input-text..
come faccio mettere anche quello lì?

grazie e buona giornata.
Dipende com'è il formato di tutta la data (per caso d-m-Y H:i:s?) per fare un'unica funzione, esempio

PHP:
function isData($data){  

  $dx = explode(' ',$data);
  $hh = explode(':',$dx[1]);
  $dd = explode('-',$dx[0]); 

return (preg_match('/^[0-9]{2}-[0-9]{2}-[0-9]{4}\s[0-9]{2}:[0-9]{2}:[0-9]{2}$/', $data) && checkdate($dd[1],$dd[0],$dd[2]) && in_array($hh[0],range(0,23)) && in_array($hh[1],range(0,59)) && in_array($hh[2],range(0,59)));   

}  


var_dump(isData('28-10-2012 10:50:29'));
 
scusa. molto .. se ti chiedo troppo ma io so solo la base e la base mysql,

mi protesti fare una conversione che invece di controllarla in italiano la data .. mi protesti fare che la controlla in formato inglese?

grazie mille.
 
scusa. molto .. se ti chiedo troppo ma io so solo la base e la base mysql,

mi protesti fare una conversione che invece di controllarla in italiano la data .. mi protesti fare che la controlla in formato inglese?

grazie mille.

Così?

PHP:
function isData($data){   

  $dx = explode(' ',$data); 
  $hh = explode(':',$dx[1]); 
  $dd = explode('-',$dx[0]);  

return (preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}$/', $data) && checkdate($dd[1],$dd[2],$dd[0]) && in_array($hh[0],range(0,23)) && in_array($hh[1],range(0,59)) && in_array($hh[2],range(0,59)));    

}   


var_dump(isData('2012-09-14 17:29:03'));
 

Discussioni simili