c# - 如何检查日期时间是否等于 20 :00 *local* time

标签 c# .net datetime timezone

我在我的应用程序中有一个要求,我们必须根据时间执行某些事件(对客户来说太本地化了)...例如 - 如果客户在美国并且客户的本地时间是 20 :00 然后做点什么...

到目前为止,为简化起见,我们只为每个国家/地区采用一个时区。任何指示我如何根据时区检查客户端的时间是否为 20:00?

最佳答案

假设您使用的是 .NET 3.5 或更高版本,您将需要 TimeZoneInfo为客户。然后你可以使用:

DateTimeOffset clientNow = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow,
                                                    timeZone);

if (clientNow.TimeOfDay == TimeSpan.FromHours(20))
{
    // ...
}

(当然,这只适用于 20:00 的精确时刻。您需要根据您的实际需求进行调整。)

关于c# - 如何检查日期时间是否等于 20 :00 *local* time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659530/

相关文章:

c# - 使用 Visual Studio 连接远程 Mysql 数据库

c# - Linux VPS 上的单声道垃圾收集

javascript - 日期比较无法正常工作

javascript - 使用 Chart.js 根据时间字符串绘制单圈时间

c# - CommandParameter 始终通过 ElementName 绑定(bind)传递 EventArgs,没有实际绑定(bind)值

.net - sqlserver 的 Entity Framework 日期/时间转换

c# - Expression.Assign 返回 Func 而不是 Action

c# - Thread.Abort 似乎没有抛出 ThreadAbortException 因为 AcceptSocket

c# - 为什么 AddMonths() 在我的 DateTime 上不起作用? (见代码)

c# - 替换 ListView 中列下的项目文本