日付と時刻のリテラル に記載されているとおり :
MySQLは
DATETIMEを認識します およびTIMESTAMPこれらの形式の値:
いずれかの
'YYYY-MM-DDHH:MM:SS'の文字列として または'YY-MM-DDHH:MM:SS'フォーマット。ここでも「リラックスした」構文が許可されています。日付部分または時間部分の間の区切り文字として、任意の句読文字を使用できます。例:'2012-12-31 11:30:45'、'2012 ^ 12 ^ 31 11 + 30 + 45'、'2012/12/31 11 * 30 * 45'、および' example@sqldat.com @ 31 11 ^ 30 ^ 45'同等です。
'YYYYMMDDHHMMSS'のいずれにも区切り文字がない文字列として または'YYMMDDHHMMSS'文字列が日付として意味をなす場合は、形式。例:'20070523091528'および'070523091528''2007-05-23 09:15:28'として解釈されます 、ただし'071122129015'は違法であり(無意味な分の部分があります)、'0000-00-00 00:00:00'になります 。いずれかの
YYYYMMDDHHMMSSの数値として またはYYMMDDHHMMSS数値が日付として意味をなす場合は、形式。例:19830905132800および830905132800'1983-09-05 13:28:00'として解釈されます 。
DATETIMEまたはTIMESTAMP値には、最大マイクロ秒(6桁)の精度で末尾の秒の一部を含めることができます。この小数部分は認識されますが、DATETIME<に格納されている値から破棄されます。 / code>またはTIMESTAMP列。 MySQLでの分数秒のサポートについては、セクション11.3.6「フラクショナル時間値の秒数」</a> 。
'2012-08-24T17:29:11.683Z'の日付リテラル これらの形式のいずれにも適合しません。どちらかを提案します—
-
代わりに、Node.jsDateオブジェクトの
toLocaleFormat()<を使用してください。 / code> メソッド(MySQL接続のタイムゾーンがNode.jsのロケールのタイムゾーンと一致していることを確認してください):if s instanceof Date return s.toLocaleFormat("%Y-%m-%d %H:%M:%S") -
Node.jsDateオブジェクトの
valueOf()を使用しますコード> 時間の値をミリ秒で取得する方法 UNIX時代以降、1000で除算 (秒を取得するには UNIXエポック以降)、MySQLのFROM_UNIXTIME()機能。