【问题标题】:Date randomly changed in different time zone in asp.net日期在asp.net中的不同时区随机更改
【发布时间】:2020-04-15 14:03:35
【问题描述】:

我面临一个奇怪的场景,文本框的日期(由 sql 数据库获取)按日期(-1)天随机更改

我的 WebApp 部署在美国的两台服务器上 *(由于 UTC-5UTC-6,两台服务器有 1 小时的时差),我是在时区 UTC+5

在 SQL 表内部有一个日期'05/31/2020',但有时它会在前端显示'05/30/2020'

SQL 中的列类型是日期。然后我得到它DataSet,并在这一行后面的代码上使用Convert.ToDateTime(DataSet.Tables[0].Rows[0]["Date"])).ToShortDateString()

当我在本地调试此代码时,日期每次都是正确的。

【问题讨论】:

    标签: c# sql asp.net datetime


    【解决方案1】:

    我怀疑您在某个地方的本地时间和 UTC 时间有问题。

    如果你在 UTC+5 上,你的服务器在 UTC-5 和 UTC-6 上,它们可能会落后你一天,例如您的当地时间是星期五上午 10 点之前,他们仍然是星期四。

    您的后端如何处理日期?它应该始终采用 UTC,然后您将 SQL DATE 值加载到 DateTime 类型中,并在从 UI 传递到后端 SQL 时使用 DateTime.ToLocalTime 转换为您的 UI 和 DateTime.ToUniversalTime。

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多