พีซีจะรู้ได้อย่างไรว่าเวลามีการเปลี่ยนแปลงอย่างไร


15

ในประเทศของฉันเวลาทางการเปลี่ยนแปลงในเดือนแรกของฤดูใบไม้ผลิและฤดูใบไม้ร่วง เมื่อเวลาเปลี่ยนไปอย่างเป็นทางการนาฬิกาของโทรศัพท์มือถือและพีซีก็เปลี่ยนไปเช่นกัน

อุปกรณ์เหล่านี้รู้ได้อย่างไรว่ามีการเปลี่ยนแปลง?


ว้าว. การประหยัดเวลากลางวันสำหรับครึ่งปี
mcalex

2
คอมพิวเตอร์รู้ว่าเวลาไหนถูก? และคุณรู้หรือไม่ว่าการออมแสงในเวลากลางวันควรเปลี่ยนอะไร? ดังนั้นจึงเป็นเรื่องif (date=DST_START) then hour=hour+1 else if (date=DST_END) then hour=hour-1ไม่สมควรที่จะเขียนบรรทัดของโค้ดลงในระบบปฏิบัติการที่ระบุว่าโดยปกตินี่ก็เพียงพอแล้ว แต่ถ้ากฎมีการเปลี่ยนแปลง (เช่นในอเมริกาเหนือในปี 2550) คุณต้องดาวน์โหลดการอัปเดตระบบปฏิบัติการ นอกจากนั้นสิ่งที่จับได้เพียงอย่างเดียวคือถ้านาฬิกาของระบบผิด (เช่นแบตเตอรี่เมนบอร์ดที่ตายแล้ว) ก็ไม่สามารถรู้ได้ว่าจะเปลี่ยนเวลาเมื่อไหร่ (แต่นั่นไม่เกี่ยวข้องเพราะคุณต้องแก้ไขวันที่และเวลาต่อไป)
Synetech

คำตอบ:


20

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

อีกทางเลือกหนึ่งอุปกรณ์บางอย่างอาจติดต่อเซิร์ฟเวอร์ระยะไกล (พวกเขามักทำตลอดเวลา) หรือใช้การประทับเวลาชนิดอื่น (เช่นการออกอากาศเป็นส่วนหนึ่งของข้อมูลวิดีโอข้อความ / ceefax หรือ DVB เมื่อพูดถึงรายการโทรทัศน์และ รับ / บันทึก / ทีวี)

แก้ไข: เพียงกล่าวถึง: Windows รุ่นเก่ากว่า (เช่น Windows 95 หรือ Windows 98) ไม่เคยเชื่อถือการประมาณการของตนเองดังนั้นพวกเขาจึงมักบอกให้ผู้ใช้ตรวจสอบเวลาที่ถูกต้องเมื่อมีการเปลี่ยนแปลง Windows Vista และ Windows 7 (ไม่แน่ใจเกี่ยวกับรุ่นที่อยู่ระหว่าง) ไม่ทำเช่นนี้อีกต่อไปและเพียง แต่ถือว่าถูกต้อง (นอกเหนือจากการใช้เซิร์ฟเวอร์เวลาเพื่อซิงค์นาฬิกา)


NTP ไม่มีข้อมูล DST หรือเขตเวลาใด ๆ มันเพิ่งสร้างเวลาปัจจุบันใน UTC ลูกค้าจะต้องใช้กฎที่เหมาะสมกับเขตเวลาของตนแยกต่างหากโดยใช้ฐานข้อมูล Olson หรือเทียบเท่า Windows Time บริการปรากฏขึ้นในการดำเนินการเพียง NTP, ด้วยวิธีการของการเผยแพร่กฎการปรับปรุงเขตเวลาไม่มี: technet.microsoft.com/en-us/library/cc773061(v=ws.10).aspx
dhasenan

ตกลงดังนั้น NTP สามารถใช้เพื่อพิจารณาว่านาฬิกาท้องถิ่นยังคงอยู่หรือไม่อยู่ใน DST ในกรณีที่ระบบคิดว่าควรมีการปรับ (เช่นหลังจากคืนค่าการสำรองข้อมูล) แต่ก็ฟังดูสมเหตุสมผลเมื่อพิจารณา UTC / GMT + 0 จะไม่มีการเปลี่ยนแปลง ให้รางวัลประโยคนั้นอีกเล็กน้อย
Mario

7

Linux ใช้ฐานข้อมูลเขตเวลาของ IANA เพื่อทราบว่า DST เปลี่ยนแปลงเมื่อใด เรื่องราวที่แตกต่างกันสำหรับ Windows ด้วยเหตุผลหลายประการ หนึ่ง Windows ใช้ RTC ในเวลาท้องถิ่นและ Linux - เป็น UTC ลองจินตนาการว่า DST เปลี่ยนใน Windows การทำเช่นนี้จะทำให้ไฟล์ "สร้าง" ในอนาคตและอาจทำให้เกิดปัญหาบางอย่าง นอกจากนี้ Windows รุ่นเก่ายังใช้ DST แตกต่างกันไปเนื่องจากมีกฎ DST ที่แตกต่างกันและ Microsoft ไม่ได้ให้บริการอัปเดตสำหรับ Windows รุ่นเหล่านั้นอีกต่อไปดังนั้นจึงไม่สามารถเปลี่ยนแปลงกฎ DST ได้ในขณะนี้

เพิ่มเติมเกี่ยวกับที่นี่: http://en.wikipedia.org/wiki/Daylight_saving_time#Computing


2

พูดง่ายๆก็คือระบบปฏิบัติการของคุณทำการอัปเดตเพื่อปรับเวลา

หน้าต่างไม่นี้ผ่านทางWindows Updateและ Linux ผ่านการใช้ไฟล์เขตเวลา


ไม่จริงสำหรับ Windows อย่างน้อยก็ไม่ใช่รุ่นเก่า Windows สามารถคำนวณได้ด้วยตัวเอง (คล้ายกับ Linux) แต่สิ่งนี้ต้องการการปรับปรุงเนื่องจากไม่มีกฎ (ตามที่คุณเชื่อมโยง)
Mario

1

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.