TimeZone proplem在续集

时间:2018-01-12 06:51:09

标签: node.js sequelize.js

表名就像列之后的用户一样

*Id -------------- (int type)
*DateandTime --------(Date type)
*Name -------------(varchar type)

I already insert one row like

Id = 123
Name = MR.X
DateandTime = 2018-01-12 06:22:06

现在在sequelize中选择查询

model.user.findAll({
   attributes: ['ID','DateandTime','NAME'],
   where: {ID: useId} })
.then((userResult) => {
....... })

但是 DateandTime “2018-01-12T06:22:06.000Z”

1 个答案:

答案 0 :(得分:1)

你准确了解你输入的内容。你已经插入一行作为字符串并且它已被转换为UTC日期,它的存储方式与你输入的字符串相同。

再次请求退出时,它会返回您输入的日期,但是从其数据库日期格式返回,而不是原始字符串。

如果您只想将值保持为原样,则需要将日期字符串存储为字符串(varchar)。或者,如果您需要将日期用于任何与日期相关的功能,当您将其恢复为显示时,您需要将其转换为您想要的字符串值。

我建议使用moment.js

const stringDate = moment(date).format('YYYY-MM-DD HH:mm');