//In Node/JS
myDate = moment(data.myTime.format('YYYY/MM/DD HH:MM:SS')).toISOString();
//myDate shows '2014-09-24T04:09:00.000Z'
Insert INTO (dateColumn..) Values(myDate)...
这是我插入后的错误,注意Mysql中的列是“日期时间”类型。
MySQL Error:: { [Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: '2014-09- 24T04:09:00.000Z' for column '_dateColumn' at row 1] code: 'ER_TRUNCATED_WRONG_VALUE',
最佳答案
出现此结果是因为您使用的是 toISOString()
方法,并且它不是插入 DATETIME
列的有效格式。正确的格式可能是 YYYY-MM-DD HH:MM:SS
(我认为这取决于 MySQL 配置,但这是默认的)作为 docs指出。
所以你应该尝试使用moment的format()方法如下:
myDate = moment(data.myTime.format('YYYY/MM/DD HH:mm:ss')).format("YYYY-MM-DD HH:mm:ss");
其实我不知道data.myTime
是什么,但是如果也是moment对象的话,可以改第一个format()
方法,去掉第二个。
关于javascript - 如何将时刻 JS 时间插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26047755/