我正在尝试开发一个应用程序,它不依赖于当前的系统时间;
即使我在PC /系统上更改日期和时间,它也不会改变。
答案 0 :(得分:1)
不幸的是,如果要测量时间间隔,则需要选择时钟作为参考。阅读您的other question和您的评论,我得到的印象是您只想知道自给定时间实例以来经过了多长时间。
如果您只担心春季和秋季的日光变化,您应该将系统时间用作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