Вы можете получить «Z» ( ISO 8601 UTC ) со следующим кодом:
Dim tmpDate As DateTime = New DateTime(Now.Ticks, DateTimeKind.Utc)
Dim res as String = tmpDate.toString("o") '2009-06-15T13:45:30.0000000Z
Вот почему:
ISO 8601 имеет несколько различных форматов:
DateTimeKind.Local
2009-06-15T13:45:30.0000000-07:00
DateTimeKind.Utc
2009-06-15T13:45:30.0000000Z
DateTimeKind.Unspecified
2009-06-15T13:45:30.0000000
.NET предоставляет нам перечисление с этими опциями:
'2009-06-15T13:45:30.0000000-07:00
Dim strTmp1 As String = New DateTime(Now.Ticks, DateTimeKind.Local).ToString("o")
'2009-06-15T13:45:30.0000000Z
Dim strTmp2 As String = New DateTime(Now.Ticks, DateTimeKind.Utc).ToString("o")
'2009-06-15T13:45:30.0000000
Dim strTmp3 As String = New DateTime(Now.Ticks, DateTimeKind.Unspecified).ToString("o")
Примечание : если вы примените "служебную программу наблюдения" Visual Studio 2008 к части toString ("o") , вы можете получить другие результаты, я не знаю, если это ошибка, но в этом случае вы получите лучшие результаты, если будете использовать отладочную переменную.
Источник: Стандартные строки формата даты и времени (MSDN)