我正在使用Node从MySQL获取数据。在数据库中,我得到了如下记录:2013-08-13 15:44:53。但是当Node从Database获取时,它会分配值,如2013-08-19T07:54:33.000Z。
我只需要在MySQL表格中获取时间格式。顺便说一句(我的列格式是MySQL中的DateTime)
在节点中:
connection.query(post, function(error, results, fields) {
userSocket.emit('history :', {
'dataMode': 'history',
msg: results,
});
});
答案 0 :(得分:2)
从数据库中检索它时,您很可能会得到一个Date对象正是您应该使用的对象(字符串仅适用于显示日期,但处理字符串表示日期不是你想要做的事情。)
如果您需要某个字符串表示形式,请根据Date
对象中存储的数据创建它 - 或者甚至更好,获取一些库,为其原型添加一个正确的strftime
方法。
此类库的最佳选择是moment.js,它允许您执行此操作以获取所需的字符串格式:
moment('2013-08-19T07:54:33.000Z').format('YYYY-MM-DD hh:mm:ss')
// output (in my case on a system using UTC+2 as its local timezone):
// "2013-08-19 09:54:33"
但是,当通过套接字(需要字符串表示)发送它时,最好使用默认值,因为您可以将它传递给客户端的new Date(..)
构造函数并获得正确的{{ 1}}再次反对。