我在 C# 中有一个 Windows 控制台应用程序,它需要将当前时间与存储在 DB 中的两次时间进行比较。日期和时间在插入数据库之前转换为 UTC。现在,我需要获取这些值并仅将时间部分与本地时间进行比较。假设我的日期如下:
DateTime dt1 = new DateTime(2013, 08, 29, 00, 00, 00)
DateTime dt2 = new DateTime(2013, 08, 29, 23, 59, 59)
当我将这两个日期转换为 UTC 并存储在 DB 中时,我的 DB 值看起来像“28/08/2013 18:30:00”和“29/08/2013 18:00:00”。
假设我当前的当地时间是“14:00:00”,我要检查的条件是,我的当地时间应该在我的数据库日期时间值的时间部分之间。喜欢
if(DateTime.Now.TimeOfDay >= DBTime1 && DateTime.Now.TimeOfDay <= DBTime2)`
{
//true condition logic
}
如果我将 db 日期时间转换为本地时间并进行比较,它会在我的本地系统中按预期工作。我的疑问是,如果应用程序托管在英国的服务器上并从印度访问它,时间比较会按预期工作吗?在转换为当地时间时,我们是否需要考虑任何其他事情,例如 DST(夏令时)或 TimeZone?