Archiv verlassen und diese Seite im Standarddesign anzeigen : String vergleichen
Hi,
braeuchte mal schnell nen denkanstoss...
ich hab ne variable (string) in der ist ein datum gespeichert. wie kann ich nun vergleichen, ob $FromDate kleiner ist als $ToDate ???
if( $FromDate <= $ToDate )
geht net. :(
du musst die strings parsen und in einen timestamp umwandeln.
weisst du, in welchem format das datum da drin ist? dann ists kein problem. wenn das format z.b. dd.mm.yyyy ist, gilt folgender code:
<?
if (mktime(0,0,0,substr($FromDate,3,2),substr($FromDate,0,2),substr($FromDate,6,4)) <= mktime(0,0,0,substr($ToDate,3,2),substr($ToDate,0,2),substr($ToDate,6,4)))
?>
die 0, 0, 0 dabei steht für sekunden, minuten, stunden
genaueres zu mktime unter http://www.php.net/mktime
mhm, danke... habs aber in der zwischenzeit mit einem sql script geloest... :D
$sql = "select to_date(´$ToDate´,´dd.mm.yyyy´) - to_date(´$FromDate´,´dd.mm.yyyy´) difference from dual";
{ $stmt = ociparse( $conn_ts,$sql );
ociexecute( $stmt,OCI_DEFAULT );
while( ocifetch( $stmt ) ) {
$difference = ociresult( $stmt, "DIFFERENCE" );
}
}
if( $difference < 0 ) {
die( "<b>Fehler:</b> Sie sollten nochmal Ihre Datumsangaben überprüfen. Von: $FromDate, Bis: $ToDate.<br><br><b>Error:</b> Negative space of date found. script haltet." );
}
mal sehen was schneller arbeitet. vllt. nehm ich ja doch noch die reine php methode...
thanks
Köntne man ja auch mit dem unixzeitstempel arbeiten.
Dann ist sortierung nach alter etc erheblich einfacher und schneller.
Aber vielleciht ist das ja bei dir net realisierbar.
aber hier mal beispiel:
$dat = date(U); //Unixzeitstempel
$checkmk = mktime(0,0,0,$mm, $tt, $jjjj, -1); // Hiermit erhälts du aus einem mm.tt.jjjj formatierten datum einen Unixstempel.
Die beiden kansnt du dann ja vergleichen oder andere sachen mit machen :rolleyes:
Falls nicht bekannt, Dieser Zeitstempel enthält die Anzahl der Sekunden seit Beginn der Unix-Epoche
(01.01.1970 um 00:00:00 Uhr).
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.