C# 时区混淆

C# 时区混淆,c#,asp.net,date,datetime,timezone,C#,Asp.net,Date,Datetime,Timezone,我有一个表单,允许用户选择开始和结束日期。开始和结束日期将始终与PST时区一起输入。保存开始和结束日期时,我将其转换为UTC并存储在数据库中 Web服务器有一个组件,该组件根据这些日期进行检查,并驻留在EST时区中。我不能总想着约会 一个简单的解释: 在PST中输入的数据 存储在UTC的数据库中 托管在EST中的Web服务器 如何正确处理PST时区?如果Web服务器在本地时间检查它们-这意味着日期将在EST中,那么要获得PST时间,只需减去3小时即可 但是,由于它们是UTC,您可以在从DB中

我有一个表单,允许用户选择开始和结束日期。开始和结束日期将始终与PST时区一起输入。保存开始和结束日期时,我将其转换为UTC并存储在数据库中

Web服务器有一个组件,该组件根据这些日期进行检查,并驻留在EST时区中。我不能总想着约会

一个简单的解释:

  • 在PST中输入的数据

  • 存储在UTC的数据库中

  • 托管在EST中的Web服务器


如何正确处理PST时区?

如果Web服务器在本地时间检查它们-这意味着日期将在EST中,那么要获得PST时间,只需减去3小时即可


但是,由于它们是UTC,您可以在从DB中提取时指定时区。

如果Web服务器在本地时间检查它们,这意味着日期将在EST中,那么要获得您的PST时间,您只需要减去3小时


但是,由于它们是UTC格式的,因此从数据库中提取时,您可以只指定时区。

将区域性信息传递到日期时间,例如

DateTime A = (DateTime)DT["MyDate"];System.Globalization.CultureInfo CI =
    new System.Globalization.CultureInfo("YourCultureInfoCode");

将区域性信息传递到日期时间,例如

DateTime A = (DateTime)DT["MyDate"];System.Globalization.CultureInfo CI =
    new System.Globalization.CultureInfo("YourCultureInfoCode");

那么问题是什么呢?只要将其保存为UTC relative,就可以在显示之前将其调整回PST。就像我说的,日期时间转换让我很困惑:)那么问题出在哪里?只要将其保存为UTC相对值,就可以在显示之前将其调整回PST。就像我说的,日期时间转换让我很困惑:)