อัพเดต 2998527 ทำให้การค้นหาโค้ดไม่ถูกต้องบนวันผ่านมา โดยใช้ TimeZoneInfo ใน.NET Framework

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:3012229
อาการ
หลังจาก 26 ตุลาคม 2014 แอพลิเคชันที่มีโฮสต์อยู่บนระบบที่มี 2014 กันยายนรัสเซียโซนเวลาปรับปรุง(2998527 KB) ติดตั้งไว้ และที่ใช้ Microsoft .NET Framework อาจคำนวณเวลาไม่ถูกต้องเมื่อมีใช้คลาสTimeZoneInfo

ปัญหานี้เกิดขึ้นในโซนเวลาต่อไปนี้:

  • (UTC-04:30 Caracas
  • (UTC + 01:00) Windhoek
  • (UTC + 02:00) กาลีนินกราด (RTZ 1)
  • (UTC + 02:00) Tripoli
  • (UTC + 03:00) Minsk
  • (UTC + 03:00) มอสโก โว Volgograd (RTZ 2)
  • (UTC + 05:00) Ekaterinburg (RTZ 4)
  • (UTC + 06:00) Novosibirsk (RTZ 5)
  • (UTC + 07:00) Krasnoyarsk (RTZ 6)
  • (UTC + 08:00) Irkutsk (RTZ 7)
  • (UTC + 09:00) ของยาคุตสค์ (RTZ 8)
  • (UTC + 10:00) ของมากาดาน
  • (UTC + 10:00) ของวลาดิวอสต็อก ของมากาดาน (RTZ 9)
  • (UTC + 13:00) ซามัว
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากการเปลี่ยนแปลงในออฟเซ็ตฐานของโซนเวลาแบ่งโค้ดใด ๆ ที่อยู่ในโซนเวลาได้รับผลกระทบถ้ารหัสที่ค้นหาวันในอดีต โดยใช้TimeZoneInfoใน.NET Framework เป็นเช่นนี้ เพราะ.NET Framework ไม่สามารถติดตามการเปลี่ยนแปลงปีในออฟเซ็ตพื้นฐาน

ปัญหานี้ถูกแสดง โดยการเปลี่ยนแปลงโซนเวลารัสเซียที่อธิบายไว้ในบทความฐานความรู้ของ Microsoft 2998527 ล่าสุด

.NET Framework ถูกละเว้นไปก่อนหน้านี้เวลา utc ที่กำหนดในกฎการปรับปรุงภายใน แทน จะใช้ออฟเซ็ต UTC พื้นฐานในการคำนวณบางอย่าง นอกจากนี้.NET Framework ถูกละเว้นกฎการปรับปรุงที่มีช่วงการเปลี่ยนภาพตามฤดูกาล
สถานะ
ปัญหานี้ได้รับการแก้ไขไม่เฉพาะในส่วนใหญ่เพิ่งนำออกใช้ ของ.NET Framework แต่ ในบทความ KB ต่อไปนี้:

รหัสชื่อเรื่องเป้าหมายภาษี 01บทความ KB
1040166 [4.5.x] ผลกระทบของการเปลี่ยนแปลงโซนเวลารัสเซียบน.NET.NET framework 4.5/4.5.1/4.5.2HR-14113011110
1065448 ผลกระทบของการเปลี่ยนแปลงโซนเวลารัสเซีย [3.5] บน.NET.NET framework 3.5 SP1HR-14113013380
1065447 ผลกระทบของการเปลี่ยนแปลงโซนเวลารัสเซีย [4.0] บน.NET.NET framework 4HR-14113012132
1104556 ปรับปรุงภาษารัสเซีย TZ [4.0] ลบส่วน InvalidOperationException.NET framework 4HR-15023031985
1104557 [3.5] TZ รัสเซียปรับปรุงทดสอบการทำงานตามหน้าที่ความล้มเหลว.NET framework 3.5 SP1HR-15023031989
1118018 ปัญหาการเรียก TimeZoneInfo [4.0] บน Server 2003 SP2.NET framework 4HR-15043057756
1083122 ดีทีเอส: [4.5.2] ต้องผลลัพธ์เมื่อซีเรีย ลไลซ์/de-serializing วันที่และเวลา.NET framework 4.5/4.5.1/4.5.2HR-15023026376
1083123 ดีทีเอส: [4.0] ไม่ถูกต้องผลลัพธ์เมื่อซีเรีย ลไลซ์/de-serializing วันที่และเวลา.NET framework 4HR-15023031985
1087142 ดีทีเอส: [3.5] ไม่ถูกต้องผลลัพธ์เมื่อซีเรีย ลไลซ์/de-serializing วันที่และเวลา.NET framework 3.5 SP1HR-15023031989
1083122 คำขอ: รัสเซีย 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.2คำขอ3018511

ข้อมูลเพิ่มเติม
พิจารณาดังต่อไปนี้ C# ตัวอย่างรหัส:

  TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time");  DateTime dt = TimeZoneInfo.ConvertTimeFromUtc(new DateTime(2013, 6, 1), tz);  Console.WriteLine(dt);
ตัวอย่างเช่น ก่อนที่คุณใช้การปรับปรุง KB 2998527 รหัสนี้ได้อย่างถูกต้องส่งกลับค่าวันและเวลาเป็นวันที่ 1 มิถุนายน 2013 เวลา 04:00 หลังจากใช้การปรับปรุง รหัสไม่ถูกต้องส่งกลับค่าวันและเวลาเป็นวันที่ 1 มิถุนายน 2013 เวลา 03:00
โปรแกรมแก้ไขด่วน

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 3012229 - การตรวจสอบครั้งสุดท้าย: 06/20/2016 10:40:00 - ฉบับแก้ไข: 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 KbMtth
คำติชม