2012-09-12 30 views
0

当我从MySQL数据库检索AA列,我得到格式化像一个无用日期:的NodeJS(用mysql节点模块),日期格式不工作

周三2012年9月12日8时44分26秒GMT + 0100(GMT日光时间)

当我尝试在返回的结果上使用dateformat模块时,我只是得到“Invalid date”。

我想要的日期要格式化的方式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。

+0

列'enquiryAdded'的数据类型是什么?它是varchar的日期吗? –

回答

0

我找到了!

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

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

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

VAR addedDate =日期格式(行[0] enquiryAdded,“YYYY -mm-dd hh:MM:ss');

这就是为什么我得到“无效日期”!