0

I am using Node for fetching data from MySQL. In database, i got record like : 2013-08-13 15:44:53 . But when Node fetches from Database , it assigns value like 2013-08-19T07:54:33.000Z.

I just need to get time format as in MySQL table. Btw ( My column format is DateTime in MySQL)

In Node :

connection.query(post, function(error, results, fields) {

    userSocket.emit('history :', {
        'dataMode': 'history',
        msg: results,
    });

});
4

1 回答 1

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(..)客户端的构造函数并Date再次获取正确的对象。

于 2013-08-26T11:26:10.370 回答