我想創建一個DateTimeOffset我指定的日期,但在另一個時區。這有點問題。2 件事:
-1- 我不在我感興趣的時區,即它不是我的本地時區。
-2- 在撰寫本文時,由于夏令時,奧克蘭的偏移量是非標準的。通常是 12。現在是 13。
所以,我的嘗試如下:
var someDate = new DateTimeOffset(selectedDate, TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time").BaseUtcOffset);
這不起作用,因為BaseUtcOffset總是回傳標準偏移量,即 12,而不是 13。
我怎么知道這個。
請記住,在建議轉換為 UTC 等之前,我不在那個時區。因此,我在計算機上創建的任何日期都將在E. Australia Daylight Time時區中,而不是New Zealand Standard Time.
uj5u.com熱心網友回復:
您可以使用它來獲得正確的日期偏移量selectedDate:
TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time").GetUtcOffset(selectedDate)
如果你輸入今天的日期,它會回傳 13。
如果selectedDate是UTC可能最好。我不知道如果是當地時間會有什么影響。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/385965.html
上一篇:C#物件不支持FirstOrDefault()取決于輸入引數
下一篇:比較陣列串列的字符
