¿Qué valor debo pasar a TimeZoneInfo.FindSystemTimeZoneById (String)?

Respuestas:

94

Aquí está la lista en Windows 8 (extraje del Registro de Windows)

Hora estándar de Afganistán
Hora estándar de Alaska
Hora estándar de Alaska \ DST dinámico
Hora estándar árabe
Hora estándar árabe
Hora estándar árabe
Hora estándar árabe \ DST dinámico
Hora estándar de Argentina
Hora estándar de Argentina \ DST dinámico
Hora estándar del Atlántico
Hora estándar del Atlántico \ DST dinámico
Hora estándar central de EE. UU.
Hora estándar del este de EE. UU.
Hora estándar del este de EE. UU. \ DST dinámico
Hora estándar de Azerbaiyán
Hora estándar de las Azores
Hora estándar de las Azores \ DST dinámico
Hora estándar de Bahía
Hora estándar de Bahía \ DST dinámico
Hora estándar de Bangladesh
Hora estándar de Bangladesh \ DST dinámico
Hora estándar central de Canadá
Hora estándar de Cabo Verde
Hora estándar del Cáucaso
Hora estándar del Cáucaso \ DST dinámico
Cen. Hora estándar de Australia
Cen. Hora estándar de Australia \ DST dinámico
Hora estándar de América Central
Hora estándar de Asia central
Hora estándar de Brasil central
Hora estándar de Brasil central \ DST dinámico
Hora estándar de Europa central
Hora estándar de Europa Central
Hora estándar del Pacífico central
Hora estándar central
Hora estándar central \ DST dinámico
Hora estándar central (México)
Hora estándar de China
Hora estándar de la línea de fecha
E. Hora estándar de África
E. Hora estándar de Australia
E. Hora estándar de Europa
E. Hora estándar de América del Sur
E. Hora estándar de América del Sur \ DST dinámico
hora estándar del Este
Hora estándar del este \ DST dinámico
Hora estándar de Egipto
Hora estándar de Egipto \ DST dinámico
Hora estándar de Ekaterimburgo
Hora estándar de Ekaterimburgo \ DST dinámico
Hora estándar de Fiji
Hora estándar de Fiyi \ DST dinámico
Hora estándar de FLE
Hora estándar de Georgia
Hora estándar GMT
Hora estándar de Groenlandia
Hora estándar de Groenlandia \ DST dinámico
Hora estándar de Greenwich
Hora estándar de GTB
Hora estándar de Hawai
Hora estándar de India
Hora estándar de Irán
Hora estándar de Irán \ DST dinámico
Hora estándar de Israel
Hora estándar de Israel \ DST dinámico
Hora estándar de Jordania
Hora estándar de Jordania \ DST dinámico
Hora estándar de Kaliningrado
Hora estándar de Kaliningrado \ DST dinámico
Hora estándar de Kamchatka
Hora estándar de Corea
Hora estándar de Libia
Hora estándar de Libia \ DST dinámico
Hora estándar de Magadán
Hora estándar de Magadan \ DST dinámico
Hora estándar de Mauricio
Hora estándar de Mauricio \ DST dinámico
Hora estándar del Atlántico medio
Hora estándar de Oriente Medio
Hora estándar de Oriente Medio \ DST dinámico
Hora estándar de Montevideo
Hora estándar de Montevideo \ DST dinámico
Hora estándar de Marruecos
Hora estándar de Marruecos \ DST dinámico
Hora estándar de la montaña
Hora estándar de la montaña \ DST dinámico
Hora estándar de la montaña (México)
Hora estándar de Myanmar
N. hora estándar de Asia Central
N. Hora estándar de Asia central \ DST dinámico
Hora estándar de Namibia
Hora estándar de Namibia \ DST dinámico
Hora estándar de Nepal
Hora estándar de Nueva Zelanda
Hora estándar de Nueva Zelanda \ DST dinámico
Hora estándar de Terranova
Hora estándar de Terranova \ DST dinámico
Hora estándar del este de Asia del Norte
Hora estándar del este de Asia del Norte \ DST dinámico
Hora estándar del norte de Asia
Hora estándar del norte de Asia \ DST dinámico
Hora estándar del Pacífico SA
Hora estándar del Pacífico SA \ DST dinámico
Hora estándar del Pacífico
Hora estándar del Pacífico \ DST dinámico
Hora estándar del Pacífico (México)
Hora estándar de Pakistán
Hora estándar de Pakistán \ DST dinámico
Hora estándar de Paraguay
Hora estándar de Paraguay \ DST dinámico
Hora estándar del romance
Hora estándar rusa
Hora estándar rusa \ DST dinámico
Hora estándar del este de Sudáfrica
Hora estándar del Pacífico de Sudáfrica
Hora estándar occidental de Sudáfrica
Hora estándar de Samoa
Hora estándar de Samoa \ DST dinámico
Hora estándar del sudeste asiático
Hora estándar de Singapur
Hora estándar de Sudáfrica
Hora estándar de Sri Lanka
Hora estándar de Siria
Hora estándar de Siria \ DST dinámico
Hora estándar de Taipei
Hora estándar de Tasmania
Hora estándar de Tasmania \ DST dinámico
Hora estándar de Tokio
Hora estándar de Tonga
Hora estándar de Turquía
Hora estándar de Turquía \ DST dinámico
Hora estándar de Ulaanbaatar
Hora estándar del este de EE. UU.
Hora estándar del este de EE. UU. \ DST dinámico
Hora estándar de las montañas de EE. UU.
UTC
UTC + 12
UTC-02
UTC-11
Hora estándar de Venezuela
Hora estándar de Venezuela \ DST dinámico
Hora estándar de Vladivostok
Hora estándar de Vladivostok \ DST dinámico
Hora estándar de Australia Occidental
Hora estándar de Australia Occidental \ DST dinámico
Hora estándar de África central occidental
Hora estándar de Europa occidental
Hora estándar de Asia occidental
Hora estándar del Pacífico occidental
Hora estándar de Yakutsk
Hora estándar de Yakutsk \ DST dinámico
mohghaderi
fuente
5
Aunque el Reino Unido no parece aparecer (GMT / BST) aparentemente lo es GMT Standard Time( stackoverflow.com/questions/4034923/… ).
SharpC
3
Para aquellos que se preguntan qué es Dynamic DST ... blogs.msdn.microsoft.com/bclteam/2007/06/07/…
Mick
¡Gran ayuda! ¡Yo también fui preciso! De hecho, me ayudó a recopilar para mi aplicación: ~ Private static TimeZoneInfo INDIA_ZONE = TimeZoneInfo.FindSystemTimeZoneById ("INDIA Standard Time"); ~
PatsonLeaner
2
Existe una diferencia entre la "Hora estándar del este de AUS" anterior y la "Hora estándar de Australia del Este" devuelta por TimeZoneInfo.GetSystemTimeZones (). El primero tiene en cuenta el horario de verano y el segundo no. Ver dotnetfiddle.net/k3yKN4
Martin Capodici
1
En el mundo multiplataforma de .NET Core, el ID de zona horaria depende de dónde se esté ejecutando el código. Por ejemplo, en una Mac, Sydney es "Australia / Sydney", en Windows 10, la zona horaria correspondiente es "E. Australia Standard Time".
Sudhanshu Mishra
39

Puede obtenerlos de una lista estática en la TimeZoneInfoclase.

var infos = TimeZoneInfo.GetSystemTimeZones();
foreach (var info in infos)
{
    Console.WriteLine(info.Id);
}

Ejemplo:

  var tzInfo = TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time");

O si solo desea una lista de los identificadores de zona horaria como sugirió DJ KRAZE

  var timeZoneIds = TimeZoneInfo.GetSystemTimeZones().Select(t => t.Id);
sa_ddam213
fuente
+1 Crearía var lstTimeZones = new List <string> (); luego reemplace console.WriteLine (info.Id); con lstTimeZones.Add (info.Id); adentro
MethodMan
16

Las zonas horarias disponibles son:

Console.WriteLine(string.Join("\n",TimeZoneInfo.GetSystemTimeZones().Select(x=>x.Id)));

Resultado:

Dateline Standard Time
UTC-11
Aleutian Standard Time
Hawaiian Standard Time
Marquesas Standard Time
Alaskan Standard Time
UTC-09
Pacific Standard Time (Mexico)
UTC-08
Pacific Standard Time
US Mountain Standard Time
Mountain Standard Time (Mexico)
Mountain Standard Time
Central America Standard Time
Central Standard Time
Easter Island Standard Time
Central Standard Time (Mexico)
Canada Central Standard Time
SA Pacific Standard Time
Eastern Standard Time (Mexico)
Eastern Standard Time
Haiti Standard Time
Cuba Standard Time
US Eastern Standard Time
Paraguay Standard Time
Atlantic Standard Time
Venezuela Standard Time
Central Brazilian Standard Time
SA Western Standard Time
Pacific SA Standard Time
Turks And Caicos Standard Time
Newfoundland Standard Time
Tocantins Standard Time
E. South America Standard Time
SA Eastern Standard Time
Argentina Standard Time
Greenland Standard Time
Montevideo Standard Time
Saint Pierre Standard Time
Bahia Standard Time
UTC-02
Mid-Atlantic Standard Time
Azores Standard Time
Cape Verde Standard Time
UTC
Morocco Standard Time
GMT Standard Time
Greenwich Standard Time
W. Europe Standard Time
Central Europe Standard Time
Romance Standard Time
Central European Standard Time
W. Central Africa Standard Time
Namibia Standard Time
Jordan Standard Time
GTB Standard Time
Middle East Standard Time
Egypt Standard Time
E. Europe Standard Time
Syria Standard Time
West Bank Standard Time
South Africa Standard Time
FLE Standard Time
Israel Standard Time
Kaliningrad Standard Time
Libya Standard Time
Arabic Standard Time
Turkey Standard Time
Arab Standard Time
Belarus Standard Time
Russian Standard Time
E. Africa Standard Time
Iran Standard Time
Arabian Standard Time
Astrakhan Standard Time
Azerbaijan Standard Time
Russia Time Zone 3
Mauritius Standard Time
Georgian Standard Time
Caucasus Standard Time
Afghanistan Standard Time
West Asia Standard Time
Ekaterinburg Standard Time
Pakistan Standard Time
India Standard Time
Sri Lanka Standard Time
Nepal Standard Time
Central Asia Standard Time
Bangladesh Standard Time
Omsk Standard Time
Myanmar Standard Time
SE Asia Standard Time
Altai Standard Time
W. Mongolia Standard Time
North Asia Standard Time
N. Central Asia Standard Time
Tomsk Standard Time
China Standard Time
North Asia East Standard Time
Singapore Standard Time
W. Australia Standard Time
Taipei Standard Time
Ulaanbaatar Standard Time
North Korea Standard Time
Aus Central W. Standard Time
Transbaikal Standard Time
Tokyo Standard Time
Korea Standard Time
Yakutsk Standard Time
Cen. Australia Standard Time
AUS Central Standard Time
E. Australia Standard Time
AUS Eastern Standard Time
West Pacific Standard Time
Tasmania Standard Time
Vladivostok Standard Time
Lord Howe Standard Time
Bougainville Standard Time
Russia Time Zone 10
Magadan Standard Time
Norfolk Standard Time
Sakhalin Standard Time
Central Pacific Standard Time
Russia Time Zone 11
New Zealand Standard Time
UTC+12
Fiji Standard Time
Kamchatka Standard Time
Chatham Islands Standard Time
Tonga Standard Time
Samoa Standard Time
Line Islands Standard Time
Angelo Ortega
fuente
9

Eche un vistazo al método estático en el método TimeZoneInfollamado TimeZoneInfo.GetSystemTimeZones().

Esto devolverá una lista de todos TimeZoneInfolos de su sistema operativo desde el Registro. Todos ellos están almacenados bajo: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.

Un ejemplo es "Hora estándar GMT" para la zona horaria "Dublín, Edimburgo, Lisboa, Londres".

DaveShaw
fuente
3

La última documentación de Microsoft, con una lista de estos, se puede encontrar en https://support.microsoft.com/en-gb/help/973627/microsoft-time-zone-index-values

Las cadenas de ID de zona horaria son actualmente las siguientes (si desea ver la diferencia horaria real de ver el índice hexadecimal para cada ID de zona horaria, haga clic en el enlace anterior):

Hora estándar de Samoa

Hora estándar de Alaska

Hora estándar de la montaña

Hora estándar de las montañas de EE. UU.

Hora estándar central de Canadá

Hora estándar de América Central

Hora estándar del este de EE. UU.

Hora estándar del Atlántico

Hora estándar del Pacífico SA

E. Hora estándar de América del Sur

Hora estándar de Groenlandia

Hora estándar de las Azores

Hora estándar GMT

Hora estándar de Europa central

Hora estándar del romance

Hora estándar de África central occidental

Hora estándar de Egipto

Hora estándar de GTB

Hora estándar de Sudáfrica

Hora estándar árabe

Hora estándar árabe

Hora estándar árabe

Hora estándar del Estado Islámico de Afganistán de transición

Hora estándar de Asia occidental

Hora estándar de Nepal

Hora estándar de Sri Lanka

Hora estándar de Myanmar

Hora estándar del norte de Asia

Hora estándar de Singapur

Hora estándar de Australia Occidental

Hora estándar de Corea

Hora estándar de Yakutsk

Cen. Hora estándar de Australia

E. Hora estándar de Australia

Hora estándar de Vladivostok

Hora estándar del Pacífico central

Hora estándar de Nueva Zelanda

Hora estándar de Azerbaiyán 

Hora estándar de Jordania

Hora estándar de la montaña (México)

Hora estándar de Namibia

Hora estándar de Brasil central

Hora estándar de Armenia

Hora estándar de Argentina

Hora estándar de Pakistán

UTC

Hora estándar de Kamchatka

d219
fuente
3

Para obtener la lista más actualizada de zonas horarias, use tzutil de Windows:

tzutil / l

Aquí puede encontrar la lista oficial de identificadores de zona horaria de Microsoft en MSDN: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones

  ID      |   Time zone name
----------|------------------------
  0       |   Dateline Standard Time
  110     |   UTC-11
  200     |   Hawaiian Standard Time
  300     |   Alaskan Standard Time
  400     |   Pacific Standard Time
  410     |   Pacific Standard Time (Mexico)
  500     |   Mountain Standard Time
  510     |   Mountain Standard Time (Mexico)
  520     |   US Mountain Standard Time
  600     |   Canada Central Standard Time
  610     |   Central America Standard Time
  620     |   Central Standard Time
  630     |   Central Standard Time (Mexico)
  700     |   Eastern Standard Time
  710     |   SA Pacific Standard Time
  720     |   US Eastern Standard Time
  840     |   Venezuela Standard Time
  800     |   Atlantic Standard Time
  810     |   Central Brazilian Standard Time
  820     |   Pacific SA Standard Time
  830     |   SA Western Standard Time
  850     |   Paraguay Standard Time
  900     |   Newfoundland Standard Time
  910     |   E. South America Standard Time
  920     |   Greenland Standard Time
  930     |   Montevideo Standard Time
  940     |   SA Eastern Standard Time
  950     |   Argentina Standard Time
  1000    |   Mid-Atlantic Standard Time
  1010    |   UTC-2
  1100    |   Azores Standard Time
  1110    |   Cabo Verde Standard Time
  1200    |   GMT Standard Time
  1210    |   Greenwich Standard Time
  1220    |   Morocco Standard Time
  1230    |   UTC
  1300    |   Central Europe Standard Time
  1310    |   Central European Standard Time
  1320    |   Romance Standard Time
  1330    |   W. Central Africa Standard Time
  1340    |   W. Europe Standard Time
  1350    |   Namibia Standard Time
  1400    |   E. Europe Standard Time
  1410    |   Egypt Standard Time
  1420    |   FLE Standard Time
  1430    |   GTB Standard Time
  1440    |   Israel Standard Time
  1450    |   Jordan Standard Time
  1460    |   Middle East Standard Time
  1470    |   South Africa Standard Time
  1480    |   Syria Standard Time
  1490    |   Turkey Standard Time
  1500    |   Arab Standard Time
  1510    |   Arabic Standard Time
  1520    |   E. Africa Standard Time
  1530    |   Kaliningrad Standard Time
  1550    |   Iran Standard Time
  1540    |   Russian Standard Time
  1600    |   Arabian Standard Time
  1610    |   Azerbaijan Standard Time
  1620    |   Caucasus Standard Time
  1640    |   Georgian Standard Time
  1650    |   Mauritius Standard Time
  1630    |   Afghanistan Standard Time
  1710    |   West Asia Standard Time
  1750    |   Pakistan Standard Time
  1720    |   India Standard Time
  1730    |   Sri Lanka Standard Time
  1740    |   Nepal Standard Time
  1700    |   Ekaterinburg Standard Time
  1800    |   Central Asia Standard Time
  1830    |   Bangladesh Standard Time
  1820    |   Myanmar Standard Time
  1810    |   N. Central Asia Standard Time
  1910    |   SE Asia Standard Time
  1900    |   North Asia Standard Time
  2000    |   China Standard Time
  2020    |   Singapore Standard Time
  2030    |   Taipei Standard Time
  2040    |   W. Australia Standard Time
  2050    |   Ulaanbaatar Standard Time
  2010    |   North Asia East Standard Time
  2100    |   Korea Standard Time
  2110    |   Tokyo Standard Time
  2130    |   AUS Central Standard Time
  2140    |   Cen. Australia Standard Time
  2120    |   Yakutsk Standard Time
  2200    |   AUS Eastern Standard Time
  2210    |   E. Australia Standard Time
  2220    |   Tasmania Standard Time
  2240    |   West Pacific Standard Time
  2230    |   Vladivostok Standard Time
  2300    |   Central Pacific Standard Time
  2310    |   Magadan Standard Time
  2400    |   Fiji Standard Time
  2410    |   New Zealand Standard Time
  2430    |   UTC+12
  2500    |   Tonga Standard Time
  2510    |   Samoa Standard Time
Gregory L
fuente
2

Como han dicho otros, puede encontrar la lista iterando TimeZoneInfo.GetSystemTimeZones()para encontrar la cadena que desea usar. Dicho esto, si solo tiene información sobre la diferencia horaria (como GMT + 9 o GMT-10) y no puede encontrar su zona horaria después de iterar las zonas horarias, es posible que desee ver la siguiente URL para ver qué zona horaria necesita https: / /msdn.microsoft.com/en-US/library/ms912391(v=winembedded.11).aspx

tonto
fuente
1

O puede pasar de TimeZoneInfo.Local.Idesta manera:

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(TimeZoneInfo.Local.Id);
DateTime localDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tzi);
Pabinador
fuente
1

Puedes usar ese código a continuación

using System;

namespace TimeZoneIds
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
                Console.WriteLine(z.Id);
        }
    }
}
Jefferson Bien-Aime
fuente
0

Un método para cambiar de una zona horaria a otra:

DateTime n = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(datetime, "sourceTimeZoneId", "destinationTimeZoneId");

Estoy en Win10 y enumero Time Zone Idcon time difference:

Dateline Standard Time                  -12
UTC-11                                  -11
Hawaiian Standard Time                  -10
Aleutian Standard Time                  -9
Marquesas Standard Time                 -9
UTC-09                                  -9
Alaskan Standard Time                   -8
UTC-08                                  -8
Pacific Standard Time (Mexico)          -7
Pacific Standard Time                   -7
US Mountain Standard Time               -7
Mountain Standard Time (Mexico)         -6
Mountain Standard Time                  -6
Central America Standard Time           -6
Easter Island Standard Time             -6
Canada Central Standard Time            -6
Central Standard Time                   -5
Central Standard Time (Mexico)          -5
SA Pacific Standard Time                -5
Eastern Standard Time (Mexico)          -5
Eastern Standard Time                   -4
Haiti Standard Time                     -4
Cuba Standard Time                      -4
US Eastern Standard Time                -4
Turks And Caicos Standard Time          -4
Paraguay Standard Time                  -4
Venezuela Standard Time                 -4
Central Brazilian Standard Time         -4
SA Western Standard Time                -4
Pacific SA Standard Time                -4
Atlantic Standard Time                  -3
Tocantins Standard Time                 -3
E. South America Standard Time          -3
SA Eastern Standard Time                -3
Argentina Standard Time                 -3
Montevideo Standard Time                -3
Magallanes Standard Time                -3
Bahia Standard Time                     -3
Newfoundland Standard Time              -2
Greenland Standard Time                 -2
Saint Pierre Standard Time              -2
UTC-02                                  -2
Mid-Atlantic Standard Time              -1
Cape Verde Standard Time                -1
Azores Standard Time                    0
UTC                                     0
Greenwich Standard Time                 0
Sao Tome Standard Time                  0
GMT Standard Time                       +1
Morocco Standard Time                   +1
W. Central Africa Standard Time         +1
W. Europe Standard Time                 +2
Central Europe Standard Time            +2
Romance Standard Time                   +2
Central European Standard Time          +2
Egypt Standard Time                     +2
South Africa Standard Time              +2
Kaliningrad Standard Time               +2
Sudan Standard Time                     +2
Libya Standard Time                     +2
Namibia Standard Time                   +2
Jordan Standard Time                    +3
GTB Standard Time                       +3
Middle East Standard Time               +3
E. Europe Standard Time                 +3
Syria Standard Time                     +3
West Bank Standard Time                 +3
FLE Standard Time                       +3
Israel Standard Time                    +3
Arabic Standard Time                    +3
Turkey Standard Time                    +3
Arab Standard Time                      +3
Belarus Standard Time                   +3
Russian Standard Time                   +3
E. Africa Standard Time                 +3
Iran Standard Time                      +4
Arabian Standard Time                   +4
Astrakhan Standard Time                 +4
Azerbaijan Standard Time                +4
Russia Time Zone 3                      +4
Mauritius Standard Time                 +4
Saratov Standard Time                   +4
Georgian Standard Time                  +4
Volgograd Standard Time                 +4
Caucasus Standard Time                  +4
Afghanistan Standard Time               +4
West Asia Standard Time                 +5
Ekaterinburg Standard Time              +5
Pakistan Standard Time                  +5
Qyzylorda Standard Time                 +5
India Standard Time                     +5
Sri Lanka Standard Time                 +5
Nepal Standard Time                     +5
Central Asia Standard Time              +6
Bangladesh Standard Time                +6
Omsk Standard Time                      +6
Myanmar Standard Time                   +6
SE Asia Standard Time                   +7
Altai Standard Time                     +7
W. Mongolia Standard Time               +7
North Asia Standard Time                +7
N. Central Asia Standard Time           +7
Tomsk Standard Time                     +7
China Standard Time                     +8
North Asia East Standard Time           +8
Singapore Standard Time                 +8
W. Australia Standard Time              +8
Taipei Standard Time                    +8
Ulaanbaatar Standard Time               +8
Aus Central W. Standard Time            +8
Transbaikal Standard Time               +9
Tokyo Standard Time                     +9
North Korea Standard Time               +9
Korea Standard Time                     +9
Yakutsk Standard Time                   +9
Cen. Australia Standard Time            +9
AUS Central Standard Time               +9
E. Australia Standard Time              +10
AUS Eastern Standard Time               +10
West Pacific Standard Time              +10
Tasmania Standard Time                  +10
Vladivostok Standard Time               +10
Lord Howe Standard Time                 +10
Bougainville Standard Time              +11
Russia Time Zone 10                     +11
Magadan Standard Time                   +11
Norfolk Standard Time                   +11
Sakhalin Standard Time                  +11
Central Pacific Standard Time           +11
Russia Time Zone 11                     +12
New Zealand Standard Time               +12
UTC+12                                  +12
Fiji Standard Time                      +12
Chatham Islands Standard Time           +12
Kamchatka Standard Time                 +13
UTC+13                                  +13
Tonga Standard Time                     +13
Samoa Standard Time                     +13
Line Islands Standard Time              +14

Código para obtener la diferencia horaria:

DateTime dt = Convert.ToDateTime("2020-04-17T09:00:00");
Dictionary<string, int> zoneHour = new Dictionary<string, int>();
var infos = TimeZoneInfo.GetSystemTimeZones();
foreach (var info in infos)
{
    zoneHour.Add(info.Id,
        TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dt, "UTC", info.Id).Subtract(dt).Hours
    );
}

var zoneHourOrder = zoneHour.OrderBy(z => z.Value);
foreach (var kv in zoneHourOrder)
{
    Console.WriteLine(kv.Key.PadRight(40) + (kv.Value > 0 ? "+" + kv.Value : kv.Value.ToString()));
}
yu yang Jian
fuente