Datum- en tijdtypes
In MySQL zijn er 5 datatypes die geschikt zijn om data en/of tijden in op te slaan:
DATE – 'YYYY-MM-DD'
TIME – 'HH:MM:SS'
DATETIME – 'YYYY-MM-DD HH:MM:SS'
TIMESTAMP – 'YYYYMMDDHHMMSS'
YEAR – 'YYYY'
Van deze 5 zul je het type TIMESTAMP (bijna) nooit gebruiken aangezien je met het type DATETIME beter uit de voeten kunt. Verder spreekt het lijkt me voor zich dat je een datum opslaat in een DATE veld, een tijd in een TIME veld en een combinatie van die twee, een tijdstip, in een DATETIME veld.
Meteen komen we hier al een voordeel van MySQL t.o.v PHP tegen: het bereik van de velden. In een DATE veld kun je data kwijt die lopen van 1000-01-01 tot 9999-12-31 terwijl je in een TIME veld tijden kwijt kunt van -838:59:59 tot 838:59:59.
Een belangrijk feit om hier ook op te merken, is dat een TIME in MySQL dus niet gebonden is aan de 24 uur van een dag en dus niet gelijk is aan een tijdstip. Een DATETIME veld heeft namelijk een bereik van 1000-01-01 00:00:00 tot 9999-12-31 23:59:59.
Dit alles in tegenstelling tot het bereik van timestamps in PHP die lopen van 13-12-1901 20:45:54 tot 19-01-2038 03:14:07. En bij PHP<5 ligt de ondergrens zelfs op 01-01-1970.
In deze tutorial zal ik een aantal kolomnamen gebruiken. De namen komen overeen met de volgende datatypes:
datumveld – DATE
tijdveld – TIME
datumtijdveld – DATETIME
Inhoudsopgave
- Inleiding
- Datum- en tijdtypes
- Invoegen van data en tijden
- Uitlezen van data en tijden
- Functies voor het weergeven van specifieke info
- Rekenen met data en tijden
- Data in Engels of Nederlands formaat
- Slotwoord en referenties