【问题标题】:'Datetime' value showing up as 2014-11-02T05:00:00.000Z instead of 2014-11-02 00:00:00“日期时间”值显示为 2014-11-02T05:00:00.000Z 而不是 2014-11-02 00:00:00
【发布时间】:2015-01-10 21:15:53
【问题描述】:

编辑:SELECT * 查询以不正确的格式返回我的日期。使用 mysql2 模块执行 connection.query(),将所有数据传递给服务器端变量,并在客户端使用 AJAX 调用它。

router.post('/applicants', function(req, res){
	connectionpool.getConnection(function(err, connection){
        if(err){
            console.error('CONNECTION error: ', err);
            res.statusCode = 503;
            res.send({
                result: 'error',
                err: err.code
            });
        } else {
            console.log
            connection.query('SELECT * FROM applicant',
                function(err, rows){
                    if (err) console.error(err);
                    res.send(rows);
                }
            );
            connection.release();
        }
    });
});

	var applicants = '';	
	$.post('/applicants').done(function(data){
		applicants = data;
	});

	$('.name').click(function(){
		var selected = $(this).attr('id');
		applicants.forEach(function(applicant){
			if(selected == applicant.applicant_id){
              
              ...
              $('input[name="applicant_dob"]').val(applicant.applicant_dob);

我无法通过“-”解析它,因为它返回的日期为 02T05:00:00.000Z 而不是 02。它在 phpmyadmin 中看起来是正确的。有什么想法吗?

【问题讨论】:

  • @BastienSander 对新帐户的态度很差。你甚至没有问他们尝试的代码是什么,或者提供一个链接来帮助学习。不要成为那个人
  • @BastienSander 不确定发生了什么,但我不得不承认我有点意识到这不是一个好的帖子形式。我很着急,正在寻找快速响应。这似乎是 mysql 特有的东西,所以我认为不需要任何代码。

标签: javascript mysql node.js express phpmyadmin


【解决方案1】:

您正在查看类型为 "datetime with timezone" 的字段

您可以使用 mysql 的 date_format() 函数修改查询中的输出。

【讨论】:

  • 改变整列的数据类型怎么样?我现在正在使用虚拟数据,所以它不会伤害任何东西。我尝试的第一个数据类型是 DATE,因为我不需要时间。它返回了我发布的内容。然后我尝试了 DATETIME 只是为了看看会发生什么。一样。 PHPMyAdmin 看起来总是正确的,但是以我的方式调用它会导致添加时区
猜你喜欢
  • 1970-01-01
  • 2018-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多