【发布时间】:2018-09-28 12:18:29
【问题描述】:
我们有 GMT 时区用于暂存和生产。但是当代码执行时,它在暂存中显示正确的结果而在生产中显示不正确。
bool checkTimeBSTorGMT = TimeZoneInfo.Local.IsDaylightSavingTime(records.GetDateTimeOrEmpty("notification_date"));
if (checkTimeBSTorGMT == true)
{
DateTime dt = new DateTime();
dt = records.GetDateTimeOrEmpty("notification_date");
dt = dt.AddHours(1);
instance.SentDateTime = dt;
}
else
{
instance.SentDateTime = records.GetDateTimeOrEmpty("notification_date");
}
我的代码如上。我希望它应该根据世界各地的用户本地机器获取正确的日期。
【问题讨论】:
-
这是什么应用程序?当您说“生产”时,您是指某处的某个服务器(例如 Web 服务器)还是用户自己的计算机(例如带有桌面应用程序)?这一切都不同,因为
TimeZoneInfo.Local反映了执行代码的计算机的时区设置。 -
申请是针对英国国家的,服务器是在那里设置的。
标签: c# timezone timezone-offset gmt