如何设置日期/时间,不依赖于使用VB.net的当前PC的日期/时间

时间:2015-08-20 07:27:05

标签: vb.net date datetime time

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

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

1 个答案:

答案 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