MySQL tijd

Status
Niet open voor verdere reacties.

martijn12321

Gebruiker
Lid geworden
14 nov 2011
Berichten
827
Hallo,
Ik ben bezig met een systeem waarbij bij elk bericht de tijd automatisch bij de rij in de database geschreven moet worden. Ik gebruik nu timestamp, maar dan is de tijd in yyyy-mm-dd hh-mm-ss, maar ik wil het graag in dd-mm-yyyy hh-mm (sec hoeft niet per sé).
Weet iemand hoe ik dat moet instellen?

Bedankt! :thumb:
 
[sql]SELECT DATE_FORMAT(NOW(),'%d-%m-%Y %H:%i') as '';[/sql]
 
Laatst bewerkt door een moderator:
Ja als je dat uitvoert krijg je de tijd te zien. Dit kun je dan in je script verwerken:

[sql]DATE_FORMAT(NOW(),'%d-%m-%Y %H:%i')[/sql]
 
Laatst bewerkt door een moderator:
Haha sorry ik begrijp het niet helemaal,ik ben nog niet zo heel bekend met database's ;)
Waar moet ik die nou invullen?
 
DATE _FORMAT() is een SQL functie die je in je query zet op de plek waar je wilt dat een datetime of timestamp veld wordt omgezet naar een string volgens het formaat dat jij wilt.

Gewoonlijk doe je dat zo; als je tabel een kolom 'begindatum' heeft waar een TIMESTAMP of DATETIME in zit (wat je nu dus als 2013-06-12 ziet terugkomen)
dan kun je die kolom zo opvragen:
[SQL]
SELECT DATE_FORMAT(begindatum , '%d-%m-%Y %H:%i') AS begindatum_nederlands FROM jouwtabel WHERE #....hier de rest van je query ...
[/sql]
In je applicatie krijg je dan een nieuwe kolom te zien (hij bestaat niet echt in de database) genaamd 'begindatum_nederlands' en daarin staat de geformatteerde datum+tijd.
In dit voorbeeld geef ik bewust een andere naam aan de geformatteerde datum, omdat dat een string is waarmee je niets meer kunt doen buiten printen. De database verwacht het formaat dat in de originele kolom 'begindatum' wordt gebruikt en dus moet de data die je in de kolom 'begindatum' aan de applicatie geeft ook blijven zoals hij was (scheelt dagen debuggen)
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan