【问题标题】:Using Node.js (Express) and mySQL to INSERT for a TIMESTAMP?使用 Node.js (Express) 和 mySQL 插入时间戳?
【发布时间】:2014-07-21 13:38:23
【问题描述】:

只是想在这里做一些简单的消息传递:

   var post = {
        sender_username : sender_username,
        recipient_username : recipient_username, 
        message_no : 1,
        content : content, 
        time : ***CURRENT TIMESTAMP***, 
        read : 0
    };

    connection.query('INSERT INTO message SET ?', post, function(err, result) {
        if (err) {
            res.send(err);
        }
        else {
            res.send(post); 
        }
    });

在其中粘贴对 TIMESTAMP 类型有效的日期和时间的最简单方法是什么?

【问题讨论】:

    标签: mysql node.js


    【解决方案1】:

    原生JS方式可以在here的答案中找到。

    就个人而言,我将Moment.js 用于处理日期的任何事情。

    moment().utc().format('hh:mm:ss')
    

    注意:我对你的问题感到困惑。您要求输入“CURRENT_TIME”,但您的格式是 TIMESTAMP。 MySQL 的 TIME 和 TIMESTAMP 类型是不同的。 TIMESTAMP 包含日期和时间,其默认值函数是“CURRENT_TIMESTAMP”。我假设您指的是 TIME 类型。

    【讨论】:

    • 我碰巧已经在使用时刻来庆祝生日,所以这太棒了。 Node.js 有一些很棒的模块! (编辑:我实际上是指 TIMESTAMP 类型。我会在我的帖子中澄清这一点。)
    【解决方案2】:

    您可以为此使用Moment.js

    Date.now 以毫秒为单位返回当前时间戳,而 moment 也适用于毫秒。

    var mysqlTimestamp = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss');
    

    【讨论】:

    • 由于问题是针对CURRENT_TIMESTAMP的,所以应该标记为正确答案
    【解决方案3】:

    您可以使用{time: new Date(GMTtimeString).toLocaleString()} GMTtimeString 从前端发送。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 2012-09-11
      • 1970-01-01
      • 2020-08-31
      • 2016-03-06
      • 2012-01-29
      相关资源
      最近更新 更多