VB.net输出带时区和偏移量的日期时间
我希望构造一个VB.net输出带时区和偏移量的日期时间,vb.net,date-formatting,Vb.net,Date Formatting,我希望构造一个DateTime,在Visual Basic中如下所示: 2017年8月23日星期三10:00:00 GMT+0530 任何人都可以建议如何构建一个日期时间信息,其中时区信息也可以如上所示?您可以执行以下操作 Dim dt as DateTime = DateTime.UtcNow Dim output as String = dt.ToLocalTime().ToString("MMM dd, yyyy HH:mm:ss tt ""GMT"" zzz") Console.Writ
DateTime
,在Visual Basic中如下所示:
2017年8月23日星期三10:00:00 GMT+0530
任何人都可以建议如何构建一个
日期时间信息,其中时区信息也可以如上所示?您可以执行以下操作
Dim dt as DateTime = DateTime.UtcNow
Dim output as String = dt.ToLocalTime().ToString("MMM dd, yyyy HH:mm:ss tt ""GMT"" zzz")
Console.WriteLine(output) 'Outputs Aug 23, 2017 11:16:29 AM GMT +01:00
有关详细信息,请参阅。日期时间具有DateTimeKind.Local、DateTimeKind.Utc或DateTimeKind.Unspecified中的一个,因此,尽管它具有一些时区信息,但其限制太大,无法指定另一个偏移量
A可以保留其他偏移,因此它可能更适合您的目的:
Module Module1
Sub Main()
Dim hereAndNow = DateTime.Now
Dim utc = DateTime.UtcNow
Dim noTzi = Date.SpecifyKind(utc, DateTimeKind.Unspecified)
Dim inIndia As New DateTimeOffset(noTzi, TimeSpan.FromHours(5.5))
Console.WriteLine(hereAndNow.ToString("yyyy-MM-dd HH:mm:ss K"))
Console.WriteLine(utc.ToString("yyyy-MM-dd HH:mm:ss K"))
Console.WriteLine(inIndia.ToString("yyyy-MM-dd HH:mm:ss 'GMT' K"))
Console.ReadLine()
End Sub
End Module
产出:
2017-08-23 11:36:55+01:00
2017-08-23 10:36:55 Z
2017-08-23 10:36:55 GMT+05:30
我必须将DateTime变量utc
的种类设置为DateTimeKind.Unspecified
才能在DateTimeOffset构造函数中使用它
您应该使用来显示时区信息。您希望在其中指定时区(标题中的“构造”),还是仅显示带有日期时间的时区?