C# 获取与SystemTime无关的实际日期时间
目标:我正在开发一个可以在线和离线工作的应用程序。该应用程序具有在应用程序中创建和保存注释的功能。此外,该应用程序第一次打开时需要连接互联网。之后,它可以在离线模式下工作,一旦应用程序连接到互联网,它将发送所有的笔记 问题:我需要将准确的“创建日期”字段与注释一起发送到服务器。“创建日期”时间必须精确,即使系统时间错误 当应用程序第一次连接到internet时,我从服务器获得了正确的时间。即使应用程序关闭或系统重新启动,我们是否可以通过第一次从服务器获取的时间来跟踪独立于系统时间的时间 我尝试了C# 获取与SystemTime无关的实际日期时间,c#,windows,c#-4.0,C#,Windows,C# 4.0,目标:我正在开发一个可以在线和离线工作的应用程序。该应用程序具有在应用程序中创建和保存注释的功能。此外,该应用程序第一次打开时需要连接互联网。之后,它可以在离线模式下工作,一旦应用程序连接到互联网,它将发送所有的笔记 问题:我需要将准确的“创建日期”字段与注释一起发送到服务器。“创建日期”时间必须精确,即使系统时间错误 当应用程序第一次连接到internet时,我从服务器获得了正确的时间。即使应用程序关闭或系统重新启动,我们是否可以通过第一次从服务器获取的时间来跟踪独立于系统时间的时间 我尝试了
PerformanceCounter(“系统”、“系统启动时间”
),它提供了系统正常运行时间。即使应用程序关闭,我也能够跟踪时间。但无法跟踪用户是否重新启动了系统
此外,即使用户在脱机模式下有意更改系统时间,我也需要跟踪正确的时间。在C#中是否有回调函数
注意:我使用SQLlite作为后端,有什么我可以做的吗?您可以考虑两个选项:
- 使用
,它是为测量运行时间而设计的。在检索服务器时间时开始测量,然后您可以随时将运行时间添加到服务器时间中。但是,如果有人暂停机器,我不知道如果您暂停使用秒表
,会发生什么秒表
- 检索服务器时间时,请注意系统时钟的值(使用
-此处不涉及本地时间),并比较两者以获得两个时钟之间的增量。您可以在任何时候应用增量来预测服务器时钟将显示的内容。此方法的注意事项:DateTime.UtcNow
- 如果本地时钟运行缓慢或快速(或由Windows Time service之类的服务进行调整),则增量可能不正确
- 如果用户调整系统本地时钟,您将遇到问题
- 使用
,它是为测量运行时间而设计的。在检索服务器时间时开始测量,然后您可以随时将运行时间添加到服务器时间中。但是,如果有人暂停机器,我不知道如果您暂停使用秒表
,会发生什么秒表
- 检索服务器时间时,请注意系统时钟的值(使用
-此处不涉及本地时间),并比较两者以获得两个时钟之间的增量。您可以在任何时候应用增量来预测服务器时钟将显示的内容。此方法的注意事项:DateTime.UtcNow
- 如果本地时钟运行缓慢或快速(或由Windows Time service之类的服务进行调整),则增量可能不正确
- 如果用户调整系统本地时钟,您将遇到问题
- 使用
,它是为测量运行时间而设计的。在检索服务器时间时开始测量,然后您可以随时将运行时间添加到服务器时间中。但是,如果有人暂停机器,我不知道如果您暂停使用秒表
,会发生什么秒表
- 检索服务器时间时,请注意系统时钟的值(使用
-此处不涉及本地时间),并比较两者以获得两个时钟之间的增量。您可以在任何时候应用增量来预测服务器时钟将显示的内容。此方法的注意事项:DateTime.UtcNow
- 如果本地时钟运行缓慢或快速(或由Windows Time service之类的服务进行调整),则增量可能不正确
- 如果用户调整系统本地时钟,您将遇到问题
DateTime.UTCNow
getutcdate()