Zoals vermeld in Datum- en tijdliteratuur :
MySQL herkent
DATETIME
enTIMESTAMP
waarden in deze formaten:
Als een string in een van beide
'YYYY-MM-DD UU:MM:SS'
of'JJ-MM-DD UU:MM:SS'
formaat. Een "relaxte" syntaxis is hier ook toegestaan:elk leesteken kan worden gebruikt als scheidingsteken tussen datumdelen of tijddelen. Bijvoorbeeld'2012-12-31 11:30:45'
,'2012^12^31 11+30+45'
,'2012/12/31 11*30*45'
, en'[email protected] @31 11^30^45'
zijn gelijkwaardig.Als een tekenreeks zonder scheidingstekens in
'YYYYMMDDHHMMSS'
of'JJMMDDHHMMSS'
formaat, op voorwaarde dat de string zinvol is als een datum. Bijvoorbeeld'20070523091528'
en'070523091528'
worden geïnterpreteerd als'2007-05-23 09:15:28'
, maar'071122129015'
is illegaal (het heeft een onzinnig minuutgedeelte) en wordt'0000-00-00 00:00:00'
.Als een getal in
YYYYMMDDHHMMSS
ofJJMMDDHHMMSS
formaat, op voorwaarde dat het nummer zinvol is als een datum. Bijvoorbeeld19830905132800
en830905132800
worden geïnterpreteerd als'1983-09-05 13:28:00'
.Een
DATETIME
ofTIMESTAMP
waarde kan een volggedeelte van een fractie van een seconde bevatten met een nauwkeurigheid tot microseconden (6 cijfers). Hoewel dit fractionele deel wordt herkend, wordt het verwijderd uit de waarden die zijn opgeslagen inDATETIME
ofTIMESTAMP
kolommen. Voor informatie over ondersteuning van fractionele seconden in MySQL, zie Sectie 11.3.6, "Fractional Seconden in tijdwaarden” .
Uw datum letterlijk van '2012-08-24T17:29:11.683Z'
past niet in een van deze formaten; stel je ook voor—
-
gebruik in plaats daarvan de
toLocaleFormat()
methode (zorg ervoor dat de tijdzone van de MySQL-verbinding overeenkomt met die van de landinstelling van Node.js):if s instanceof Date return s.toLocaleFormat("%Y-%m-%d %H:%M:%S")
-
gebruik de
valueOf()
methode om de waarde van de tijd in milliseconden te verkrijgen sinds het UNIX-tijdperk, deel door1000
(om seconden te krijgen sinds het UNIX-tijdperk) en passeren MySQL'sFROM_UNIXTIME()
functie.