我有以下格式的字符串:是否有更優雅的方式將此時間轉換爲我的服務器當地時間?
14:41:21 Dec 15, 2015 PST
我想將其轉換成我的服務器的本地時間,但我認爲我創建一個額外的步驟可避免:
Dim testdate As Date
DateTime.TryParseExact(dateinput, "HH:mm:ss MMM dd, yyyy PST", CultureInfo.InvariantCulture, DateTimeStyles.None, testdate)
testdate = TimeZoneInfo.ConvertTimeToUtc(testdate, TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"))
testdate = testdate.ToLocalTime()
我已經玩過這個遊戲了,但總是要休息幾個小時,上面是我發現的工作,但只是想知道是否有更好的方法。另外請注意,它可以部署在多個服務器上,所以我不想指定時區來將其明確轉換爲本地時間的原因。
優秀的答案。謝謝。所有的觀點都是完全合理的,我被困在特定的格式和TZ中的唯一原因是這是paypal IPN相關的,它使用PDT和PST – user1447679
然後考慮用'-08:00'替換'PST','' PDT'與'-07:00',然後使用'DateTimeOffset.ParseExact'和'zzz'格式說明符。然後,您將擁有一個有效的「DateTimeOffset」,您可以將其轉換爲任何時區,或者只需使用LocalDateTime屬性即可。 –