Zoals vermeld in Datum- en tijdliteratuur :
MySQL herkent
DATETIMEenTIMESTAMPwaarden 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'example@sqldat.com @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
YYYYMMDDHHMMSSofJJMMDDHHMMSSformaat, op voorwaarde dat het nummer zinvol is als een datum. Bijvoorbeeld19830905132800en830905132800worden geïnterpreteerd als'1983-09-05 13:28:00'.Een
DATETIMEofTIMESTAMPwaarde 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 inDATETIMEofTIMESTAMPkolommen. 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.