Jump to content

Datum en tijdsnotatie wijzigen in MySQL


Kloep

Recommended Posts

Ik heb al vele dingen geprobeerd, maar het wil me niet lukken om de juiste datum en tijdsnotatie te krijgen. Ik wil graag het volgende:

October 08 2011 13:42

De werking van TIMESTAMP snap ik niet, daar had ik al naar gekeken.

Ik had dit in m'n query geplaatst, maar ook dat werkt niet:

DATE_FORMAT (uploaddatum, 'F d Y h:i a')

(uploaddatum is de naam van de kolom in m'n database, welke als type 'date' heeft.)

Hiermee krijg ik de volgende melding:

Query: INSERT INTO afbeeldingen DATE_FORMAT (uploaddatum, 'F d Y h:i a') (naam,link,categorie,uploaddatum) VALUES ('s','s','Covers','08 October 2011 01:52 pm')
MySQL Error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_FORMAT (uploaddatum, 'F d Y h:i a') (naam,link,categorie,uploaddatum)' at line 2

Weet iemand wat er fout gaat, of hoe ik dit kan aanpassen dat het wel werkt? :)

Link to comment
Delen op andere websites

Wat ben je uberhaubt aan het doen? Werk je met PHP met een bestaand systeem?

Waarom sla je de tijd niet op in de database als integer als Unix time? Dan kan je die integer altijd achteraf via je script omzetten en bewerken naar een voor mensen leesbaar iets, afhankelijk van het hun land, taal, etc...

Link to comment
Delen op andere websites

Wat ik doe is een database maken van afbeeldingen. In het database komt dat de naam, link, categorie en datum te staan. Hier heb ik een form voor gemaakt die de gegevens verzend naar het database. Dit gaat op de volgende manier:

$datum = date('d F Y h:i a');

<tr><td></td><td><input type='hidden' name='uploaddatum' size='30' value='".$datum."'></td></tr>

Is het mogelijk om dan vervolgens de datumnotatie te wijzigen, of moet ik dit heel anders aanpakken? En welk type zou ik het veld dan moeten meegeven in het database? DATE of TIMESTAMP?

EDIT: Ik heb nu de juiste datum erin staan met TIMESTAMP, moet alleen nog het juiste format aangeven.

Bewerkt: door Kloep
Link to comment
Delen op andere websites

Wat ik doe is een database maken van afbeeldingen. In het database komt dat de naam, link, categorie en datum te staan. Hier heb ik een form voor gemaakt die de gegevens verzend naar het database. Dit gaat op de volgende manier:

$datum = date('d F Y h:i a');

<tr><td></td><td><input type='hidden' name='uploaddatum' size='30' value='".$datum."'></td></tr>

Is het mogelijk om dan vervolgens de datumnotatie te wijzigen, of moet ik dit heel anders aanpakken? En welk type zou ik het veld dan moeten meegeven in het database? DATE of TIMESTAMP?

EDIT: Ik heb nu de juiste datum erin staan met TIMESTAMP, moet alleen nog het juiste format aangeven.

Dan raad ik aan toch even alles om te gooien. Waarom zet je de datum eerst in een hidden webformulier? Dan kan iedereen deze aanpassen en wat dan ook als datum meesturen. Waarom haal je het niet na het posten van het formulier de tijd van de server?

Probeer alles zo veilig mogelijk te scripten. Anders heb je het risico dat er misbruik van je website kan worden gemaakt.

Link to comment
Delen op andere websites

Dat doe ik nu inderdaad, kwam er dus ook achter dat het meesturen met het form geen zin had, en niet meer werd gebruikt. Heb nu in de query van het verzenden naar het database CURRENT_TIMESTAMP staan, dat werkt prima.

Als het goed is, kan ik nu gewoon simpel aangeven hoe ik de datum wil zien op de pagina waar ik de afbeelding weergeef toch?

Dit zou dan zoiets worden:

echo date("d F Y h:i a ", strtotime($row["uploaddatum"]));

Link to comment
Delen op andere websites

Als ik PHP gebruik, dan zet ik altijd de Epoch tijd in de database.

Dat is dus gewoon ipv een DateTime een BigInt(20) te gebruiken, en vervolgens met een sql query gewoon time() gebruiken.

Dan hoef je ook geen string to time te gebruiken. Volgens mijn DIS leraar was dit niet netjes, maar toen ik een jaar geleden mijn php website moest inleveren vond die leraar het wel goed, omdat je anders hele tijd de datums moest omvormen en dat vond hij niet zo efficiënt.

Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...