Если вы хотите использовать часовой пояс вашего локального компьютера, вы можете использовать myDateTime.ToUniversalTime()
для получения времени UTC из вашего местного времени или myDateTime.ToLocalTime()
для преобразования времени UTC в время локального компьютера.
// convert UTC time from the database to the machine's time
DateTime databaseUtcTime = new DateTime(2011,6,5,10,15,00);
var localTime = databaseUtcTime.ToLocalTime();
// convert local time to UTC for database save
var databaseUtcTime = localTime.ToUniversalTime();
Если вам нужно преобразовать время из / в другие часовые пояса, вы можете использовать TimeZoneInfo.ConvertTime()
или TimeZoneInfo.ConvertTimeFromUtc()
.
// convert UTC time from the database to japanese time
DateTime databaseUtcTime = new DateTime(2011,6,5,10,15,00);
var japaneseTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
var japaneseTime = TimeZoneInfo.ConvertTimeFromUtc(databaseUtcTime, japaneseTimeZone);
// convert japanese time to UTC for database save
var databaseUtcTime = TimeZoneInfo.ConvertTimeToUtc(japaneseTime, japaneseTimeZone);
Список доступных часовых поясов
Класс TimeZoneInfo на MSDN