我希望构造一个DateTime
它看起来像下面的Visual基础知识:VB.net输出日期时间与时区和偏移
Wed Aug 23 2017 10:00:00 GMT+0530
任何人都可以请建议如何构建一个DateTime
信息,其中时区信息也可以如上所示?
我希望构造一个DateTime
它看起来像下面的Visual基础知识:VB.net输出日期时间与时区和偏移
Wed Aug 23 2017 10:00:00 GMT+0530
任何人都可以请建议如何构建一个DateTime
信息,其中时区信息也可以如上所示?
你可以做类似下面...
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
一个DateTime具有Kind是DateTimeKind.Local,DateTimeKind.Utc,或DateTimeKind.Unspecified之一,因此尽管它具有一些时区信息,实在是太限于指定彼此偏移。
一个DateTimeOffset可以容纳其他偏移,因此它可以更好地满足你的目的:
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年8月23日11时36分55秒+01:00
2017年8月23日10时36分55秒ž
2017年8月23日10时36分55秒GMT 05:30
我必须将DateTime变量的种类utc
设置为DateTimeKind.Unspecified
才能够在DateTimeOffset构造函数中使用它。
您应该使用K custom format specifier作为显示时区信息。
你想要什么东西,你可以指定时区(标题中的“构造”),或者你想简单*显示*时区与日期时间? –