我目前正在开展一个项目,该项目要求用户(在他们各自的时区)为他们全天收到的某些通知设置“截止”时间。例如,用户会说他们不希望在上午 8:00 之前和不迟于晚上 7:30 之前收到警报。该用户位于 CST(保存每个用户的时区信息),“服务器”位于 EST。服务器是所有逻辑决策发生的地方,应该通知用户等等。
仅出于比较目的转换时间部分的最佳做法是什么?
我目前的想法是采用用户设置的时间,比如“7:00 AM”,然后创建一个完整的 DateTime 对象并将其存储为 .ToUniversalTime()。在服务器上,我可以将 DateTime 对象转换为本地时间并仅比较时间部分。
有没有人有一个“更好”的解决方案或可能来自解决类似问题的人的任何建议?
谢谢!