将 DateTime 转换为 UTC 日期时间

Convert DateTime to UTC date time

根据我的客户要求,我需要以 UTC 格式(以下格式)发送当前日期时间。

FORMAT: YYYY-MM-DDTHH:MM:SS.MsMsMsZ     'Ms is milliseconds
EXAMPLE: 2014-02-28T15:59:23.000Z       'Z is Time Zone Designator(TZD) and it must be Z

当我尝试在 VB.Net 中转换日期时间时,我得到以下格式,但不是 等同于上述格式。 毫秒应该只有 3 位数字,并且应该在末尾显示 Z。

这是我的代码。

DateTime.Now.ToString("o"))
2019-03-13T16:47:55.9620000-06:00

您可以使用 DateTime.UtcNow. Afterwards, you can get your Custom Date and Time Format 将当前本地时间转换为 UTC(祖鲁),代码如下:

Dim currentTimeUTC As DateTime = DateTime.UtcNow
Dim strCurrentTimeUTC As String = currentTimeUTC.ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
Debug.Print(strCurrentTimeUTC)

我系统上的输出显示为:

2019-03-13T20:55:28.493Z

您必须指定 "kind" 您正在使用的日期时间。 例如。以下代码:

Dim dt As New DateTime(2019, 1, 1, 3, 4, 23, DateTimeKind.Utc)
Console.WriteLine(dt.ToString("o"))

将产生:2019-01-01T03:04:23.0000000Z

请参阅:Standard Date and Time Format Strings,特别注意 "O" "o" 标准字符串和 The Round-trip ("O", "o") 格式说明符。`