[英]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.