【问题标题】:Limit date format in node.js在 node.js 中限制日期格式
【发布时间】:2016-03-19 22:53:10
【问题描述】:

我将 Node.js 与 mysql、express 和 html 一起使用。

当我从数据库中检索结果时,我得到以下日期, 2016-03-16T00:00:00.000Z,虽然mysql中的类型是日期。

我的查询:

app.get('/list', function  (req,res) {
    connection.query('SELECT `ondate`,`projectname`,`hours` FROM `entries` WHERE YEARWEEK(`ondate`, 1) = YEARWEEK(CURDATE(), 1) ORDER BY ondate DESC ,projectname ASC ', function(err, rows, fields) {  
    res.json({error: err, result: rows});
    });
})

有没有办法可以将 ondate 字段设置为忽略时间?

【问题讨论】:

  • 你用的是哪个mysql驱动?

标签: javascript mysql node.js


【解决方案1】:

使用这个:

SELECT
DATE_FORMAT(`ondate`,'%m-%d-%Y'),
`projectname`,
`hours` 
FROM `entries` 
WHERE YEARWEEK(`ondate`, 1) = YEARWEEK(CURDATE(), 1)
ORDER BY ondate DESC, projectname ASC;

将日期格式调整为您需要的格式。

问候

【讨论】:

  • 太棒了!这就是我需要的
【解决方案2】:

很难确切知道在何处引入了不需要的格式,但可以选择将其作为后期处理行的一部分删除...

// Assuming array of rows takes shape something like this...
var rows = [{ondate:'2012-01-02T00:00:00.000Z'},{ondate:'2013-01-02T00:00:00.000Z'},{ondate:'2012-03-02T00:00:00.000Z'}];

// map rows to show only first ten chars of `ondate` field
rows = rows.map(function(item){ return item.ondate.slice(0,10); });

// business as usual...
alert(rows);
//-> 2012-01-02,2013-01-02,2012-03-02

【讨论】:

    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 2011-07-10
    • 2020-05-22
    • 2020-09-08
    • 1970-01-01
    相关资源
    最近更新 更多