Momentálne ste offline a čaká sa, kým sa znova pripojíte na internet

Aktualizácia 2998527 spôsobuje nesprávny kód vyhľadávania v minulosti dátumy pomocou TimeZoneInfo rozhrania .NET Framework

DÔLEŽITÉ: Tento článok je preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft a možno ho opraviť prostredníctvom technológie Community Translation Framework (CTF). Microsoft ponúka strojovo preložené články, články upravené komunitou aj články preložené prekladateľmi, aby zabezpečil prístup ku všetkým článkom databázy Knowledge Base vo viacerých jazykoch. Strojovo preložené články aj upravené články môžu obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky. Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené neprávnym prekladom obsahu alebo jeho použitím zo strany našich zákazníkov. Ďalšie informácie o technológii CTF nájdete na lokalite http://support.microsoft.com/gp/machine-translation-corrections/sk.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 3012229
Príznaky
Po 26 Október 2014 aktualizácie aplikácií hosťovaných v systémoch, ktoré septembra 2014 ruských časových pásiem (2998527 KB) nainštalovaný a používajúce rozhranie Microsoft .NET Framework možno vypočítať čas správne pri použití TimeZoneInfo triedy.

Tento problém sa vyskytuje v nasledujúcich časových pásiem:

  • (UTC-04:30). Caracas
  • (UTC + 01:00) Windhoek
  • (UTC + 02:00) Kaliningrad (RTZ 1)
  • (UTC + 02:00) Tripoli
  • (UTC + 03:00) Minsk
  • (UTC + 03:00) Moskva, Petrohrad, Volgograd (RTZ 2)
  • (UTC + 05:00) Jekaterinburg (RTZ 4)
  • (UTC + 06:00) Novosibirsk (RTZ 5)
  • (UTC + 07:00) Krasnojarsk (RTZ 6)
  • (UTC + 08:00) Irkutsk (RTZ 7)
  • (UTC + 09:00) Jakutsk (RTZ 8)
  • (UTC + 10:00) Magadan
  • (UTC + 10:00) Vladivostok, Magadan (RTZ 9)
  • (UTC + 13:00) Samoa
Príčina
Tento problém sa vyskytuje, pretože zmenu základnej posun časového pásma prestávky ľubovoľný kód príslušného časového pásma, ak kód posledné aktualizácie pomocou TimeZoneInfo rozhrania .NET Framework. Dôvodom je skutočnosť, že .NET Framework nie je možné sledovať zmeny v základnej posun.

Tento problém bol odhalený v dôsledku nedávnych zmien ruských časových pásmach, ktoré sú popísané v článku databázy Microsoft Knowledge Base 2998527.

.NET Framework predtým ignorované UTC posun nastavený vnútorná úprava pravidla. Namiesto toho využíva základné UTC posun niektorých výpočtov. .NET Framework aj ignoruje nastavenie pravidiel, ktoré nemajú prechod na letný.
Stav
Tento problém bol vyriešený nielen najviac nedávno uvoľnenie rozhrania .NET Framework, ale aj v nasledujúcich článkoch databázy Knowledge Base:

IDNázovCieľVlastné 01Článok databázy KB
1040166 [4.5.x] Ruských časových pásiem zmeny ovplyvňujú .NET.NET framework 4.5/4.5.1/4.5.2HR-14113011110
1065448 [3,5] ruských časových pásiem zmeny ovplyvňujú .NET.NET framework 3.5 SP1HR-14113013380
1065447 [4,0] ruských časových pásiem zmeny ovplyvňujú .NET.NET framework 4HR-14113012132
1104556 [4,0] ruských TZ aktualizácia vyvolá InvalidOperationException.NET framework 4HR-15023031985
1104557 [3,5] ruských TZ chyby aktualizácie test funkčnosti.NET framework 3.5 SP1HR-15023031989
1118018 [4,0] RU TimeZoneInfo problémy na Server 2003 SP2.NET framework 4HR 15043057756
1083122 DTS: [4.5.2] nesprávne výsledky pri serializáciu/deaktivuje-serializing DateTime.NET framework 4.5/4.5.1/4.5.2HR-15023026376
1083123 DTS: [4,0] nesprávne výsledky pri serializáciu/deaktivuje-serializing DateTime.NET framework 4HR-15023031985
1087142 DTS: [3,5] nesprávne výsledky pri serializáciu/deaktivuje-serializing DateTime.NET framework 3.5 SP1HR-15023031989
1083122 OnDemand: Ruština TZ - Part2 - NDP 4.5.1/4.5.2 RTM - Win8.1RTM/Win2K12R2RTM/WinRT8.1RTM - KB3018511.NET framework 4.5/4.5.1/4.5.2OnDemand3018511

Ďalšie informácie
Predstavte si nasledovný príklad kód C#:

  TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time");  DateTime dt = TimeZoneInfo.ConvertTimeFromUtc(new DateTime(2013, 6, 1), tz);  Console.WriteLine(dt);
Pred inštaláciou aktualizácie KB 2998527, tento kód správne vráti napríklad dátum a čas ako 1. júna 2013 o 04:00. Po nainštalovaní aktualizácie kód nesprávne vráti dátum a čas ako 1. júna 2013 03:00.
rýchla oprava

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 3012229 – Posledná kontrola: 06/20/2016 10:40:00 – Revízia: 3.0

Microsoft .NET Framework 4.6, Microsoft .NET Framework 4.5.2, Microsoft .NET Framework 4.5.1, Microsoft .NET Framework 4.5, Microsoft .NET Framework 4.0, Microsoft .NET Framework 3.5, .NET Core 5.0

  • kbmt KB3012229 KbMtsk
Pripomienky