Fel i PHP -program på grund av felaktiga datum kan bli kostsamt . Enligt International Data Corp , spenderade företagen mer än 20 miljarder dollar om fastställande datumhantering i datorprogram i väntan på Y2K övergången . Felaktiga datum kan orsaka PHP program att krascha eller göra felaktiga beräkningar , som ibland är värre än program kraschar . Flera metoder finns tillgängliga som du kan använda för att konvertera en felaktigt formaterad datum till ett korrekt formaterad datum i ett PHP-skript . Instruktioner
1
Identifiera formatet på fel datum . Infoga felsöka kod i skriptet för att mata ut innehållet i fältet med fel datum . Förstå varför formatet är felaktigt så kan du konvertera den till ett korrekt datum och vidta åtgärder för att förhindra liknande fel i framtiden . Till exempel , sätt in följande kod i din PHP-skript där fel datum fältet refereras :
echo " *** debug : date = $ date_field *** " ,
2
fastställa datum representeras av ett heltal som antalet sekunder sedan 1 januari, 1970 - till exempel , är från en Microsoft Access-databas . Använd PHP "date " -funktion för att konvertera heltal till ett datum värde som kan behandlas av PHP-skript . Till exempel , sätt in följande skript i ditt program för att konvertera ett heltal datum till ett " MM /DD /ÅÅÅÅ " datumvärde :
$ good_date = date ( " m /d /Y " , $ access_date ) ; Addera 3
Använd PHP-funktionen " strtotime " i samband med PHP "date " -funktion för att konvertera ett felaktigt datum -format till en korrekt formaterad datum . Passera felaktigt datum till strtotime funktionen för att skapa ett tidsvärde, använd sedan "date " -funktion för att korrekt formatera tidsvärdet . Till exempel , typ :
$ fixed_time = strtotime ( $ bad_date ) , $ new_date = date ( " YM- d " , $ fixed_time ) ,
4
Använd delsträngen funktion att ordna om månad och dag delar av ett datumsträng när de transponeras . Till exempel , för att omvandla " 14/10/2011 " till " 10/14/2011 ", använd följande kod :
$ new_date = substr ( $ bad_date , 3,2 ) . ' /' . substr ( $ bad_date , 0,2 ) . ' /' . substr ( $ bad_date , 6 ) ;