问题 在2次之间使用应用程序并从数据库获取时间

瓦拉基克

成员
已加入
2020年11月8日
留言内容
9
编程经验
Beginner
你好
我打算制作一个可以在定义的时间之间使用的应用程序,如果时间不在定义的时间之间,则该应用程序会发出警告并关闭该应用程序。
最初考虑为父母和他们的孩子制作一个父母控制应用程序,以便父母可以告知何时足够。

我正在使用C#使一切变为可能,并且我正在使用数据库(MYSQL)来获取详细信息。
以下是我的问题:
我应该以哪种方式将时区保存在数据库中供不同父母使用?
如何使应用程序使用父母定义的时区?
如果父母将在应用程序运行期间更改时区以及应用程序可以运行的时间,那么应用程序将如何识别数据库中的数据已更改?

我是新手,如果有可能,我将非常感谢例如开放源码和一些解释。
预先感谢您所有的答案。
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
始终将时间戳记存储在UTC中。 C#DateTime结构已经自然地支持了这一点,并且获得了当地时间或UTC时间的特定时区转换。然后与用户配置文件一起分别存储他们所在的时区。时区仅用于显示目的。

通过将所有数据保存在UTC中,可以简化所有时间的计算。公认的是,使用UTC的缺点是,如果您喜欢扫描日志文件或控制台输出,则读取UTC时间需要很多时间来习惯。 (简单的示例:使用默认设置将日志配置为使用UTC时,尝试通读IIS日志。)
 

瓦拉基克

成员
已加入
2020年11月8日
留言内容
9
编程经验
Beginner
嗯,所以您是说我应该以UTC方式将父母的时区保存在数据库中,并在网页或应用上正常显示已定义的时区。
在数据库中应该有1个使用的时区,当父母指定时区时,它将转换为utc中的时间戳吗?
因此将有两列,一列显示定义的时区,第二列将用于检查时间。
如果我理解正确。

我尚不了解的部分是,如果在应用程序运行时更改了时区或时间,应用程序将如何识别。我是否需要使用计时器事件来检查更改?对于速度较慢的PC,它不会增加重量吗?
 
最佳 底部