如何设置一个 Date/Time,它不会依赖于当前 PC 的 Date/Time 使用 VB.net

How do I Set a Date/Time, that wont rely on the Current PC's Date/Time using VB.net

我正在尝试开发一个不依赖于当前系统时间的应用程序;

即使我更改 PC/System 上的日期和时间,它也不会改变。

不幸的是,如果你想测量时间间隔,你需要选择一个时钟作为参考。阅读您的 和您的评论,我的印象是您只想知道自给定时间实例以来经过了多少时间。

如果你只是担心 spring 和秋天的日光变化,你应该只使用系统时间作为 UTC:

Public StartDate As Date = Date.UtcNow
...
Dim elapsed As TimeSpan = Date.UtcNow - StartDate

如果你也想忽略系统管理员更改系统时间的时间,则需要依赖CPU的高精度计数器(虽然不能用来测量不同运行时间之间的时间)你的程序):

Imports System.Diagnostics
...
Dim myClock As New StopWatch()
myClock.Start()
...
Dim elapsed As TimeSpan = myClock.Elapsed

如果你想在数据库服务器上使用系统时间,你应该查询:

Dim query As String = "SELECT GETDATE()"

Using connection As New SqlConnection("your connection string here"), _
  cmd As New SqlCommand(query, connection)
    connectionn.Open()
    Dim timeOnSqlServer As Date = Convert.ToDateTime(cmd.ExecuteScalar())
End Using