Som anges i Datum och tidbokstav :
MySQL känner igen
DATETIME
ochTIMESTAMP
värden i dessa format:
Som en sträng i antingen
'ÅÅÅÅ-MM-DD HH:MM:SS'
eller'ÅÅ-MM-DD TT:MM:SS'
formatera. En "avslappnad" syntax är också tillåten här:Alla skiljetecken kan användas som avgränsare mellan datumdelar eller tidsdelar. Till exempel,'2012-12-31 11:30:45'
,'2012^12^31 11+30+45'
,'2012/12/31 11*30*45'
, och'[email protected] @31 11^30^45'
är likvärdiga.Som en sträng utan avgränsare i någon av
'ÅÅÅÅMMDDHHMMSS'
eller'ÅÅMMDDHHMMSS'
format, förutsatt att strängen är vettig som ett datum. Till exempel,'20070523091528'
och'070523091528'
tolkas som'2007-05-23 09:15:28'
, men'071122129015'
är olagligt (den har en meningslös minutdel) och blir'0000-00-00 00:00:00'
.Som ett nummer i antingen
ÅÅÅÅMMDDHHMMSS
ellerÅÅMMDDHHMMSS
format, förutsatt att numret är vettigt som ett datum. Till exempel19830905132800
och830905132800
tolkas som'1983-09-05 13:28:00'
.En
DATETIME
ellerTIMESTAMP
värdet kan inkludera en efterföljande del av bråkdelssekunder med upp till mikrosekunders (6 siffror) precision. Även om denna bråkdel känns igen, kasseras den från värden lagrade iDATETIME
ellerTIMESTAMP
kolumner. För information om stöd för bråkdelssekunder i MySQL, se avsnitt 11.3.6, "Bråkdelar Sekunder i tidsvärden” .
Ditt datum är '2012-08-24T17:29:11.683Z'
passar inte något av dessa format; föreslår du antingen—
-
använd istället Node.js Date-objektets
toLocaleFormat()
metod (se till att tidszonen för MySQL-anslutningen matchar den för Node.js:s språk):if s instanceof Date return s.toLocaleFormat("%Y-%m-%d %H:%M:%S")
-
använd Node.js Date-objektets
valueOf()
metod för att erhålla tidens värde i millisekunder sedan UNIX-epoken, dividera med1000
(för att få sekunder sedan UNIX-epoken) och passera genom MySQL:sFROM_UNIXTIME()
funktion.