根据我的客户要求,我需要以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
答案 0 :(得分:1)
您可以使用DateTime.UtcNow将当前的本地时间转换为UTC(Zulu)。之后,您可以使用以下代码从中获取Custom Date and Time Format:
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
答案 1 :(得分:1)
您必须指定使用的日期时间的“种类”。 例如。以下代码:
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")
格式说明符。