簡體   English   中英

將日期時間從GMT轉換為其他(東部,山地,太平洋,印度,...)格式

[英]COnvert a datetime From GMT to other(Eastern,Mountain,Pacific,Indian,..) formats

我需要知道如何將GMT時區格式的日期時間轉換為其他格式,如東方,太平洋,山區和印度.. c#,asp.net2.0和dot net frame work 2.0中的時區格式。

提前致謝

魯帕。

不幸的是,使用.NET 2.0大部分都是填充的。 您需要使用P / Invoke來創建TimeZone類的實例。 從.NET 3.5開始,它會好很多 - TimeZoneInfo允許您獲取非本地區域。 我似乎記得后者對歷史時區信息也有更好的支持,而不僅僅是DST更改時的一對規則。

您可以使用GetTimeZoneInformation獲取信息,但這相對比較難看。 可能有一些方法使用P / Invoke來為你進行轉換...雖然它仍然可能是毛茸茸的。

使用.NET 2.0的要求有多堅定? 使用.NET 3.5可以省去很多麻煩......

真的,你想要.NET 3.5 ...

(我知道你問過.NET 2.0,但是對於今后搜索這個主題的人來說,這個答案可能很有用)

TimeZoneInfo mountain = TimeZoneInfo.FindSystemTimeZoneById(
    "US Mountain Standard Time");
DateTime utc = DateTime.UtcNow;
DateTime local = TimeZoneInfo.ConvertTimeFromUtc(utc, mountain);

在那之前......痛苦。 您可以維護自己的偏移列表,但是您必須擔心DST。

寫一個像下面這樣的方法,這樣就可以通過調用它輕松轉換。 它為印度標准時間

public DateTime IndianStandard(DateTime currentDate)
{
    TimeZoneInfo mountain = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
    DateTime utc = currentDate;
    return TimeZoneInfo.ConvertTimeFromUtc(utc, mountain);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM