beetje hulp nodig met "strftime()" functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Symvar

Symvar

16/11/2006 10:44:00
Quote Anchor link
Hallo,

Ik beheer een gastenboekje op een website wat gebruik maakt van de strftime() functie. Ik snap hoe ik de functie moet toepassen, alleen moet ik nu een aantal berichten van een oud gastenboek toevoegen en daarbij moet ik de datums als strftime() zelf in de database toevoegen.

mijn vraag is dus, hoe reken ik een datum om naar die strftime() variabele?

Ben benieuwd of iemand me kan helpen (eigenlijk twijfel ik er niet aan) :)

Symvar
 
PHP hulp

PHP hulp

22/11/2024 10:16:32
 
Frank -

Frank -

16/11/2006 11:31:00
Quote Anchor link
strftime() is een waardeloze functie wanneer je een datum wilt opslaan in de database. Hoe je het ook went of keert, een DATETIME eist altijd het formaat yyyy-mm-dd hh:mm:ss en een DATE eist het formaat yyyy-mm-dd. Ik ga er dus van uit dat je het verkeerde datatype in jouw database gebruikt, anders had je strftime() niet eens kunnen gebruiken.

Oplossing: Gooi strftime() met een grote boog richting prullenbak, pas het datatype aan en ga vervolgens alles op de juiste manier in de database wegschrijven. De huidige datum en tijd kun je met de MySQL-functie NOW() in de query opnemen. Zie verder hoofdstuk 12.5 van de MySQL-handleiding.
 
Paul K

Paul K

16/11/2006 11:39:00
Quote Anchor link
Even een opmerking op die NOW();
Ik doe meestal dit:
$date = date("");
maar dan ingevuld :P
Maar die NOW() in je query is dus sneller en werkt even goed?
 
Frank -

Frank -

16/11/2006 11:49:00
Quote Anchor link
@Paul:
Quote:
Maar die NOW() in je query is dus sneller en werkt even goed?
De enige manier om daar 110% zekerheid over te krijgen, is om het even te testen.

Zorg er wel voor dat je het datatype DATETIME of DATE gebruikt, andere formaten zijn zo goed als waardeloos of ronduit fout.

Ps. Gebruik zo veel mogelijk de kracht van de database, die kan waarschijnlijk veel meer dan dat jij en ik met PHP kunnen...
 
Symvar

Symvar

21/11/2006 10:08:00
Quote Anchor link
Hm ja duidelijk, thanks.
DATETIME zou dus beter zijn, maar op zich werkt het op deze manier ook wel. Als ik alleen maar wist hoe ik bijvoorbeeld "17-11-2006 om 19:18" moest omrekenen naar "1163791099" (dit is een bestaande entry in gastenboek en database)

Ik heb namelijk niet echt veel zin om het script zelf aan te passen om die datums er op de DATETIME manier in te krijgen :)

Symvar
Gewijzigd op 01/01/1970 01:00:00 door Symvar
 
Frank -

Frank -

21/11/2006 16:34:00
Quote Anchor link
Tja, reserveer dan maar vast de benodigde tijd om bugs en andere ellende op te gaan lossen. Er zit een belangrijke fout in je database, los deze dan ook zo snel mogelijk op.

Er is bv. geen enkele reden om 17-11-2006 om 19:18 om te rekenen naar 1163791099, wat moet je in hemelsnaam met dit getal doen? Daar kan toch niemand wat mee, of wel dan? Of ben je soms het wiel opnieuw aan het uitvinden en ga je functies/berekenen in php maken waarvoor MySQL gewoon een kant-en-klare functie voor heeft? Ik vrees van wel...
 
Symvar

Symvar

21/11/2006 16:56:00
Quote Anchor link
Frank schreef op 21.11.2006 16:34:
Tja, reserveer dan maar vast de benodigde tijd om bugs en andere ellende op te gaan lossen. Er zit een belangrijke fout in je database, los deze dan ook zo snel mogelijk op.

Er is bv. geen enkele reden om 17-11-2006 om 19:18 om te rekenen naar 1163791099, wat moet je in hemelsnaam met dit getal doen? Daar kan toch niemand wat mee, of wel dan? Of ben je soms het wiel opnieuw aan het uitvinden en ga je functies/berekenen in php maken waarvoor MySQL gewoon een kant-en-klare functie voor heeft? Ik vrees van wel...


Ik wou juist voorkomen dat ik het wiel opnieuw uit moet vinden.. 't is namelijk een bestaand gastenboek ^^
 
Frank -

Frank -

21/11/2006 17:03:00
Quote Anchor link
In dat geval hebben 'ze' voor dat gastenboek het wiel opnieuw uitgevonden. Het zou mij alleen niet verbazen dat die is ontwikkeld voor MySQL-versies waarin er geen/weinig database-functies beschikbaar waren. MySQL versies ouder dan 4.1 mogen eigenlijk niet de naam Database hebben, laat staan DBMS. Deze versies zijn eigenlijk te debiel voor woorden. Wil je die versies toch gebruiken, dan heb je geen andere keuze dan het wiel opnieuw uitvinden.

Hopelijk maak jij in de toekomst betere systemen wanneer je zelf een nieuw systeem gaat bouwen.

Succes!

Ps. Vergeet niet dat er betere opensource databases bestaan, bv. PostgreSQL. Die kan serieus concureren met bv. Oracle en DB2.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.