Смещение UTC в минутах

Как я могу получить разницу между местным временем и временем UTC в минутах (в С#).

Спасибо.

Ответ 1

Используйте TimeZoneInfo:

TimeSpan delta = TimeZoneInfo.Local.GetUtcOffset();
double utcMinuteOffset = delta.TotalMinutes;

Ответ 2

Это должно дать вам то, что вам нужно.

(DateTime.UtcNow - DateTime.Now).TotalMinutes;

Также вы можете использовать функцию .ToUniversalTime DateTime.

Ответ 3

Еще одна версия:

DateTimeOffset.Now.Offset.TotalMinutes

Ответ 4

Response.Write((DateTime.Now - DateTime.UtcNow).TotalMinutes);

Ответ 5

Подробнее см. эту статью в MSDN. Образец кода в конце статьи явно дает код, чтобы получить разницу между локальным и временем UTC.

Для тех, кто не хочет щелкнуть ссылку, здесь выдержка из этого кода:

  // Find difference between Date.Now and Date.UtcNow
  date1 = DateTime.Now;
  date2 = DateTime.UtcNow;
  difference = date1 - date2;
  Console.WriteLine("{0} - {1} = {2}", date1, date2, difference);

Ответ 6

DateTime localDt = DateTime.Now;
DateTime utcDt = DateTime.UtcNow;
TimeSpan localUtcDiff = utcDt.Subtract(localDt);
Console.WriteLine("The difference in minutes between local time and UTC time is " + localUtcDiff.TotalMinutes.ToString());