在C#中,處理不同時區的時間可以使用DateTime
和TimeZoneInfo
類
TimeZoneInfo localTimeZone = TimeZoneInfo.Local;
DateTime
對象:DateTime dateTimeInTimeZone = DateTime.UtcNow;
DateTime
對象轉換為其他時區:TimeZoneInfo targetTimeZone = TimeZoneInfo.FindSystemTimeZoneById("目標時區ID");
DateTime targetDateTime = TimeZoneInfo.ConvertTime(dateTimeInTimeZone, localTimeZone, targetTimeZone);
ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo timeZone in timeZones)
{
Console.WriteLine($"ID: {timeZone.Id}, DisplayName: {timeZone.DisplayName}, StandardName: {timeZone.StandardName}");
}
TimeZoneInfo timeZoneById = TimeZoneInfo.FindSystemTimeZoneById("時區ID");
注意:時區ID是一個字符串,表示時區的唯一標識符。例如,美國東部時區的ID為"Eastern Standard Time"
。你可以從上面的示例中獲取所有可用的時區ID。
通過這些方法,你可以在C#中處理不同時區的時間。請確保正確處理夏令時調整,因為某些時區會在特定時間段內實行夏令時。