首页 > 解决方案 > 设置为 UTC 的客户端日期在到达我的控制器时没有以 UTC 的形式到达

问题描述

我在 Backbone.js 中保存这样的日期时间:

    this.save('GameEndTime', new Date().toJSON()).done(function() {
        self.score.fetch();
    });

new Date().toJSON() 是UTC,但是当它到达我的控制器时,它以某种方式被转换为我的本地时区。

在 Visual Studio 中单步执行时,我可以立即看到它。

这是我的控制器,当我检查“dto”参数时,它已经在我的本地时区中。

    [HttpPut("{id}")]
    public virtual IActionResult Put(TId id, [FromBody] TDto dto)

    { ... }

所以我不确定从UTC到本地的位置/方式。

例如,如果我在浏览器的 console.log 中写出时间并得到以下信息:

游戏结束时间:“2018-10-18T19:36:46.982Z”

当它击中我的控制器时,它是这样的:

游戏结束时间 = {10/18/2018 下午 3:36:46}

这是我在 api 控制器入口处设置断点的时候。所以我无法弄清楚它在哪里被转换。

有没有人遇到过这样的问题?

谢谢!

标签: c#model-view-controllerasp.net-corebackbone.js

解决方案


推荐阅读