เครื่องมือสำหรับนักพัฒนา · ตัวแปลงการประทับเวลา Unix
การเปลี่ยนแปลงเวลาออมแสงเปลี่ยนแปลงสิ่งที่คอลัมน์เวลาท้องถิ่นแสดงอย่างไร
· มันทำงานอย่างไร
การประทับเวลา โซนเวลา การดีบัก
นาฬิกาท้องถิ่นจะกระโดดปีละสองครั้ง และค่าของยุครอบการเปลี่ยนแปลงทำให้เกิดเวลาท้องถิ่นที่ซ้ำหรือไม่เคยมีอยู่เลย โพสต์นี้จะอธิบายกลไกดังนั้นเอาต์พุตของตัวแปลงรอบการเปลี่ยนแปลง DST จึงสมเหตุสมผล
บันทึกกิจกรรมที่ 01:30 สองครั้ง — สองยุคห่างกันหนึ่งชั่วโมง โดยทั้งสองยุคแสดงเวลานาฬิกาแขวนท้องถิ่นเดียวกัน
สองยุคที่แตกต่างกันสามารถจัดรูปแบบให้เป็นป้ายนาฬิกาแขวนเดียวกันได้ในระหว่างการเปลี่ยนออฟเซ็ตย้อนหลัง สมุดงานแก้ไขป้ายกำกับนั้นที่ 01:30 แต่พื้นที่เก็บข้อมูลไม่ได้กำหนดชั่วโมงการเปลี่ยนแปลงสากล ช่วงเวลาการทำซ้ำเป็นกฎที่บังคับใช้ของโซนเบราว์เซอร์ ไม่ใช่เวลาของ Unix
เมื่อรายการที่ซ้ำกันปรากฏขึ้น ให้เก็บยุค ISO แถวไว้และแสดงออฟเซ็ตเข้าด้วยกัน การเรียงลำดับเฉพาะคอลัมน์ `HH:mm` ในเครื่องสามารถย้อนกลับหรือยุบเหตุการณ์ได้ การเรนเดอร์ UTC ของ ToolAcre ช่วยให้แต่ละช่วงเวลามีจุดยึดตามลำดับเวลาที่ไม่ซ้ำใคร แม้ว่าใบหน้าในท้องถิ่นที่คุ้นเคยจะกลับมาในช่วงก่อนหน้านี้ก็ตาม
สามารถอ่านค่าในท้องถิ่นซ้ำๆ ได้ ตรวจสอบการเปลี่ยนแปลงที่เกิดขึ้นจริงในเบราว์เซอร์ของคุณแทนที่จะสมมติว่า 01:30
การนับยุคดำเนินไปผ่านการเปลี่ยนแปลงโดยไม่ต้องเปลี่ยนหน่วยหรือต้นกำเนิด การเปลี่ยนแปลงใดที่ International offset จะนำไปใช้เมื่อจัดรูปแบบวันที่ในโซนท้องถิ่น สองวินาทีติดต่อกันยังคงอยู่ติดต่อกันใน UTC แม้ว่าป้ายกำกับในเครื่องจะดูเหมือนข้ามไปไกลกว่าหรือถอยหลังก็ตาม
ความแตกต่างนี้จะช่วยป้องกัน "การแก้ไข" แบบทำลายล้าง การลบหนึ่งชั่วโมงออกจากยุคที่เก็บไว้เนื่องจากแดชบอร์ดทำซ้ำหนึ่งชั่วโมงจะเปลี่ยนเหตุการณ์ที่ถูกต้อง แก้ไขการจัดรูปแบบ การจัดกลุ่ม หรือความคลุมเครือในป้ายกำกับที่แสดง รักษาเครื่องไว้ทันที เว้นแต่จะมีหลักฐานแสดงว่านาฬิกาต้นทางนั้นผิด
ค่าคงที่ที่มีประโยชน์จะคงอยู่ทุกการเปลี่ยนแปลงออฟเซ็ต: การลบค่ายุคทั้งสองจะทำให้ระยะเวลาที่ผ่านไปจริง การลบเวลาผนังที่จัดรูปแบบอาจไม่สามารถทำได้ เนื่องจากการชดเชยอาจแตกต่างกัน
การเปลี่ยนแปลงจะเปลี่ยนออฟเซ็ตที่เกี่ยวข้องในขณะที่ยุคยังคงต่อเนื่องกัน
ในระหว่างการเปลี่ยนแปลงการเยื้องหน้า อาจไม่สามารถผลิตฉลากติดผนังภายในเครื่องได้หลายช่วง ความกว้างและตำแหน่งไม่สามารถสรุปได้อย่างปลอดภัยจากการใช้งานนี้ ToolAcre ถามนานาชาติและรายงานผลลัพธ์ ไม่มีสมมติฐานแบบตายตัวว่าทุกกะคือหนึ่งชั่วโมงหรือเกิดขึ้นเมื่อ 02:00
ตัวแปลงเริ่มต้นจาก Instant ที่มีอยู่ ดังนั้นจึงเพียงแสดงค่าที่อ่านได้เฉพาะที่ด้านใดด้านหนึ่ง การจัดกำหนดการอินพุตภายในเครื่องที่ไม่มีอยู่นั้นเป็นการดำเนินการที่แตกต่างออกไป หากแบบฟอร์มต้องแก้ไขสถานการณ์นั้น นโยบายผลิตภัณฑ์จะต้องตัดสินใจว่าจะปฏิเสธ ย้าย หรือตีความเวลาผนังที่ร้องขอใหม่หรือไม่
การเปลี่ยนไปข้างหน้าสามารถข้ามการอ่านในท้องถิ่นได้ ช่วงเวลาที่แน่นอนขึ้นอยู่กับกฎของโซนที่ได้รับการตรวจสอบ
การเปลี่ยนแปลงแบบย้อนกลับทำให้ช่วงอื่นเกิดขึ้นมากกว่าหนึ่งครั้งภายใต้ออฟเซ็ตที่ต่างกัน ข้อความในเครื่องจะไม่เพียงพอเว้นแต่จะรวมออฟเซ็ตหรือยุคที่เกี่ยวข้องด้วย ToolAcre ขอ `shortOffset` เพื่อให้ผู้อ่านมีวิธีแยกแยะความแตกต่างระหว่างการเรนเดอร์ทั้งสองเมื่อแพลตฟอร์มให้รูปแบบนั้น
การขจัดข้อมูลซ้ำซ้อนของฐานข้อมูลที่คีย์ตามวันที่และนาทีในเครื่องจึงสามารถละทิ้งบันทึกจริงได้ เหตุการณ์สำคัญที่มีตัวระบุที่เสถียรและจัดเก็บทันที เขตข้อมูลปฏิทินท้องถิ่นเป็นการคาดคะเนแบบสอบถามที่มีประโยชน์ แต่ไม่ควรแทนที่ค่าที่แยกความแตกต่างที่เกิดขึ้นครั้งแรกจากครั้งที่สอง
การเปลี่ยนย้อนกลับสามารถอ่านค่าในท้องถิ่นซ้ำได้ ช่วงเวลาที่แน่นอนขึ้นอยู่กับกฎของโซนที่ได้รับการตรวจสอบ
ใช้การเปลี่ยนแปลงที่บันทึกไว้สำหรับโซนที่กำหนดค่าไว้ในอุปกรณ์ทดสอบของคุณ จากนั้นเลือกสองยุคที่ห่างกันหนึ่งชั่วโมง แปลงแต่ละอย่างชัดเจนเป็นวินาทีและบันทึก ISO เอาต์พุตในเครื่องและออฟเซ็ต หากป้ายกำกับท้องถิ่นก้าวหน้าไปในจำนวนที่แตกต่างจาก UTC การเปลี่ยนแปลงออฟเซ็ตจะพิจารณาความแตกต่าง
วิธีการนี้ไม่ได้ตั้งใจฮาร์ดโค้ดวันที่หรือเมือง งานเตือนไม่ให้ยืนยันกฎการเปลี่ยนโซนที่มีชื่อโดยไม่มีหลักฐาน และพื้นที่เก็บข้อมูลไม่มีการติดตั้งโซนคงที่ คู่ที่คุณสังเกตจะกลายเป็นตัวอย่างการทำงานที่ทำซ้ำได้สำหรับสภาพแวดล้อมนั้น ในขณะที่บทความยังคงเป็นความจริงสำหรับผู้อ่านในที่อื่น
ตัวอย่างการทำงาน: รับคู่การเปลี่ยนแปลงจากตัวแปลงแทนการเผยแพร่กฎโซนที่ไม่ได้รับการยืนยัน
โซนที่กำหนดค่าไว้บางโซนอาจไม่แสดงการเปลี่ยนแปลงตามฤดูกาลตลอดปีที่ทดสอบ อื่นๆ อาจแตกต่างกันระหว่างวันที่ทางประวัติศาสตร์ ตัวแปลงสามารถแสดงผลลัพธ์เหล่านั้นได้ แต่ไม่ได้อธิบายหรือกำหนดเวอร์ชันของกฎ การคำนวณออฟเซ็ตคงที่ไม่สามารถค้นพบจุดเปลี่ยนแปลงได้ เนื่องจากถือว่ามีการทดสอบความคงตัวอย่างมาก
สำหรับการทดสอบการถดถอย ให้ปักหมุดสภาพแวดล้อมและบันทึกข้อมูลแพลตฟอร์มที่คาดหวัง แทนที่จะถือว่าแล็ปท็อปเครื่องหนึ่งเป็นแบบสากล หากต้องการความช่วยเหลือ โปรดขอชื่อโซน ออฟเซ็ตทันที และเรนเดอร์ การพูดว่า “DST ผิด” เป็นการละเว้นหลักฐานที่จำเป็นในการสร้างสิ่งที่เบราว์เซอร์จัดรูปแบบจริงขึ้นมาใหม่
สิ่งนี้ไม่ครอบคลุมถึง - การกำหนดเวลาท้องถิ่นในอนาคตสำหรับการเปลี่ยนแปลง DST ซึ่งต้องใช้กฎของโซนแทนที่จะเป็นออฟเซ็ตคงที่
แผงนี้แปลงทันทีที่ทราบแล้ว จะไม่คำนวณการนัดหมายที่เกิดซ้ำในอนาคต เช่น “ทุกวันจันทร์ เวลา 09:00” ผ่านการเปลี่ยนแปลงออฟเซ็ต งานนั้นเริ่มต้นด้วยโซนที่มีชื่อและนโยบายสำหรับช่องว่างและการทับซ้อน ซึ่งทั้งสองโซนไม่ได้แสดงด้วยยุคคงที่เพียงยุคเดียว
การรวมเวิร์กโฟลว์ทั้งสองเข้าด้วยกันทำให้เกิดข้อผิดพลาดเล็กน้อย: การเพิ่มเจ็ดครั้ง 86,400 วินาทีจะคงระยะเวลาที่ผ่านไป ไม่จำเป็นต้องเป็นป้ายกำกับนาฬิกาแขวนในอนาคตอันเดียวกัน ใช้ตรรกะการจัดกำหนดการที่สร้างขึ้นสำหรับการเกิดซ้ำตามเวลาพลเรือน ใช้ตัวแปลงยุคหลังจากนั้นเพื่อตรวจสอบเหตุการณ์ที่แก้ไขแล้วโดยเฉพาะ
ตัวกำหนดเวลาต้องเก็บรักษาเพิ่มเติมว่าผู้ใช้หมายถึงเหตุการณ์ก่อนหน้าหรือภายหลังในระหว่างการทับซ้อนกัน ตัวเลือกนั้นไม่มีการนำเสนอในสตริงนาฬิกาออฟเซ็ตคงที่เพียงตัวเดียว
ประเด็นสำคัญ: เชื่อถือยุคสมัย, สงสัยนาฬิกาแขวน — และการอ่าน UTC ของตัวแปลงเวลาประทับเวลา Unix จะยึดจุดยึดของท้องถิ่นได้อย่างไร
เชื่อถือยุคสมัยในการสั่งซื้อและถือว่านาฬิกาแขวนเป็นเหมือนการเรนเดอร์ขึ้นอยู่กับบริบท ToolAcre มีค่าคงที่วันที่หนึ่งในขณะที่ Intl จัดหา UTC และแบบฟอร์มท้องถิ่น ดังนั้นจึงสามารถตรวจสอบการกระโดดหรือการทำซ้ำอย่างน่าประหลาดใจได้โดยไม่ต้องเปลี่ยนจำนวนที่อยู่ข้างใต้
บันเดิลการดีบักที่ปลอดภัยคือค่าดิบ, หน่วย, เอาต์พุต ISO, เลเบลโซนโลคัล และออฟเซ็ต ด้วยฟิลด์เหล่านั้น การเปลี่ยนแปลงจะปรากฏเป็นการเปลี่ยนแปลงกฎการจัดรูปแบบ หากไม่มีข้อความนาฬิกาซ้ำๆ จะชวนให้คาดเดาเกี่ยวกับคำขอที่ซ้ำกัน คิวที่ล่าช้า หรือนาฬิกาเซิร์ฟเวอร์ที่เสียหายซึ่งข้อมูลไม่รองรับ
ชุดหลักฐานนี้ยังทำให้รายงานข้อผิดพลาดสามารถพกพาได้ วิศวกรอีกคนสามารถสร้าง UTC ทันทีได้ แม้ว่าโซนท้องถิ่นและการแสดงผลนาฬิกาแขวนจะแตกต่างออกไปโดยสิ้นเชิงก็ตาม