【问题标题】:How can I get same result of date on browser from real data in mysql? (timezone)如何从 mysql 中的真实数据在浏览器上获得相同的日期结果? (时区)
【发布时间】:2017-11-20 11:03:01
【问题描述】:

一开始我是韩国人,今天是2017-11-20。

我正在使用 CentOS7、Nodejs、express 和 mariadb(mysql)。

我认为我对时区有疑问。

在我的 CentOS7 中,

#date
Mon Nov 20 19:30:16 KST 2017

在我的mysql中,

> SELECT now();
2017-11-20 19:34:05
> SELECT * FROM mytable
------------------
| ID | dodate    |
-----------------
| 1  | 2017-11-20|
------------------

在我的 app.js 中,

...
app.get('/', function(req, res){
    ...   
    var sql = ‘SELECT dodate FROM mytable’;
    conn.query(sql, function(err, rows, fields){
    if(err){
        console.log(err);
    } else{
        res.send(rows);
    }
    ...   
});
...

结果是,(在浏览器上)

[{"dodate":"2017-11-19T15:00:00:00.000z"}]

但我想要

的结果
2017-11-20

不是

2017-11-19

我该如何解决这个问题?

【问题讨论】:

    标签: mysql node.js linux express timezone


    【解决方案1】:

    我怀疑您的dodate 列的数据类型为DATETIMETIMESTAMP 的数据类型得到翻译。

    【讨论】:

    • 我将数据类型表单日期更改为时间戳。但它不起作用。
    • “它不起作用”可以表示从“我的服务器起火,我的数据中心被烧毁”到“我的价值减少了两分钟”。如果您尽可能准确地描述您的问题,它将帮助您作为开发人员以及试图回答您问题的人。
    • 谢谢。我的英语不是很好。所以很抱歉我不能很好地描述我的问题。
    【解决方案2】:

    试试

    var sql = ‘SELECT dodate FROM date(mytable)’;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      • 2021-12-19
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多