【问题标题】:NodeJS dateFormat not workingNodeJS dateFormat 不起作用
【发布时间】:2012-09-05 04:59:41
【问题描述】:

当我从我的 MySQL 数据库中检索一列时(使用 mysql 节点模块),我得到一个无用的日期,格式如下:

2012 年 9 月 12 日星期三 08:44:26 GMT+0100(GMT 夏令时间)

当我尝试对返回的结果使用 dateformat 模块时,我只是得到“无效日期”。

我希望日期的格式与 MySQL 的格式相同,即 YYYY-MM-DD HH:MM:SS

这是我的脚本:

var lastChanged = '' ;
var lastUpdated = '' ;
var poll ;
function DBPoller()
{
poll = setTimeout(function(){
    connection.query('SELECT enquiryAdded FROM _table_updates', function(e, row) {
        if(e)
        {
            console.log('An error occured: '+e)
        }
        else
        {
            addedDate = dateFormat(row[0], 'yyyy-mm-dd hh:MM:ss') ;
            if(addedDate != lastChanged)
            {
                console.log('An enquiry was just added at '+addedDate+', the one before this was at '+lastChanged) ;
                lastChanged = addedDate ;
            }
        }
    });
    DBPoller() ;
}, 2000)
}

上面给了我“无效日期”错误。

我错过了什么?


您好,mysql 的列数据类型是 DATETIME。

【问题讨论】:

  • 你的列enquiryAdded的数据类型是什么?是 varchar 的 date 吗?

标签: javascript mysql node.js date date-format


【解决方案1】:

我找到了!

MySQL 的结果是一个 JSON 字符串:

{ enquiryAdded: Wed Sep 12 2012 08:44:26 GMT+0100 (GMT Daylight Time) }

所以我所做的就是访问该值:

var addedDate = dateFormat(row[0].enquiryAdded, 'yyyy-mm-dd hh:MM:ss') ;

这就是我收到“无效日期”的原因!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 2018-12-16
    • 1970-01-01
    • 2017-09-29
    • 2015-04-22
    • 1970-01-01
    相关资源
    最近更新 更多