我的应用程序中有一个要求,我们必须根据时间(对于客户来说太本地)执行某些活动...例如 - 如果客户端在美国,而客户端的本地时间是20 :00然后做点什么......
到目前为止,为了简化我们每个国家只需要一个时区..任何指针如何根据时区检查客户端的时间是否为20:00?
答案 0 :(得分:3)
假设您使用的是.NET 3.5或更高版本,则需要TimeZoneInfo
作为客户端。然后你可以使用:
DateTimeOffset clientNow = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow,
timeZone);
if (clientNow.TimeOfDay == TimeSpan.FromHours(20))
{
// ...
}
(当然,这只适用于20:00的完全时刻。你需要根据你的实际需求进行调整。)
答案 1 :(得分:3)
使用quartz.net来安排工作。它非常容易使用,非常稳定。
如果您需要时区,只需每小时触发一次作业,然后为适用的客户端激活您想要的活动。
答案 2 :(得分:2)
boolean isDateTimeEqualToTwentyAught() {
return false;
}
答案 3 :(得分:1)
请记住,DateTime类中存在一个错误,错误的功能,它允许您比较不同时区的值,完全忽略所述时区。测试,测试和重新测试,以确保它是你想要的。