โฮมเพจ » การเข้ารหัส » แสดงวันที่และเวลาวิธีการทำอย่างถูกต้อง

    แสดงวันที่และเวลาวิธีการทำอย่างถูกต้อง

    เราเจอวันที่และเวลา ... ดีทุกวัน เมื่อพูดถึงเว็บคุณสามารถพบพวกมันในแอพมือถือของคุณในอีเมลในแอพส่งข้อความและที่อื่น ๆ แม้จะมีการดูวันที่และเวลาทุกวันและทุกที่, เรายังไม่ได้นำรูปแบบสากลมาใช้.

    ตัวอย่างเช่นถ้าฉันเขียน 10/05/2015 คุณไม่สามารถมั่นใจได้ว่า "10" เป็นเดือนหรือวันที่เว้นแต่ว่าฉันบอกคุณว่าฉันมาจากไหน บางครั้งรูปแบบการเปลี่ยนแปลงอื่น ๆ เวลาภาษา.

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

    โลกาภิวัตน์

    สมมติว่าเราไม่ต้องการแปลงและแสดงรูปแบบวันที่และเวลาที่แตกต่างกันสำหรับผู้ชมที่แตกต่างกันทั่วโลกเราจะทำอย่างไร เราเลือกหนึ่งรูปแบบทั่วโลกและติดกับมัน นี่คือที่มาของมาตรฐาน ก่อนที่เราจะไปถึงสิ่งนั้นฉันต้องแนะนำว่า W3C แนะนำให้เราใช้รูปแบบวันที่ ISO 8601 กับเขตเวลา UTC.

    ISO 8601

    ISO 8601 อธิบายถึงวิธีการที่ยอมรับในระดับสากลเพื่อแสดงวันที่และเวลาโดยใช้ตัวเลข.

    และรูปแบบสำหรับวันที่สมบูรณ์คือ; YYYY-MM-DD, ตัวอย่างเช่น: 2015/07/28

    YYYY = ปี 4 หลักMM = เดือน 2 (01 = มกราคมเป็นต้น)DD = วัน 2 หลัก (01 ถึง 31)

    สำหรับวันที่และเวลาที่สมบูรณ์YYYY-MM-DDThh: mm: ss.s, ตัวอย่างเช่น: 2015-07-28T21: 15: 18.45

    T = เพื่อแยกวันที่และเวลาตาม ISO 8601mm = 2 หลักนาที (00 ถึง 59)ss = 2 หลักวินาที (00 ถึง 59)s = เศษส่วนทศนิยมของวินาที, 1 หรือมากกว่าหลัก

    โปรดทราบว่าไม่มีการกล่าวถึงเขตเวลาในตัวอย่างข้างต้นดังนั้นจึงควรสันนิษฐานว่าเวลาดังกล่าวอยู่ในเขตเวลาท้องถิ่น หากคุณตัดสินใจใช้เขตเวลา UTC เพียงเพิ่ม Z เป็นค่าที่แสดงถึง UTC

    ตัวอย่างเช่น: 2015-07-28T21: 15: 18.45Z

    แต่ถ้าคุณต้องการที่จะแสดงเวลาท้องถิ่นคุณสามารถเพิ่ม เขตเวลาชดเชย สำหรับ UTC เป็นค่าในรูปแบบ +HH: mm หรือ -HH: mm ตามความจำเป็น.

    ตัวอย่างเช่นให้เราสมมติ 2015-07-28T21: 15: 18.45 อยู่ในเขตเวลา EST (เวลามาตรฐานตะวันออก) ซึ่งล่าช้าหลังเวลา UTC 5 ชั่วโมง.

    ในการเป็นตัวแทนด้วย UTC offset เราเขียน 2015-07-28T21: 15: 18.45-05: 00 ซึ่งเทียบเท่ากับเวลา UTC 2015-07-29T02: 15: 18.45Z.

    อีกครั้ง Z ถูกต่อท้ายเพื่อแสดงว่าวันที่และเวลาที่แสดงอยู่ในเวลา UTC.

    UTC กับ GMT

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

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

    ใช้ชื่อของเดือน

    มาตรฐาน ISO ใช้ตัวเลขในการแสดงวันที่เท่านั้นเพื่อหลีกเลี่ยงความขัดแย้งทางภาษา แต่ถ้าเนื้อหาของเว็บแอปพลิเคชันของคุณเป็นภาษาอังกฤษคุณควรพิจารณาเขียนเป็นภาษาอังกฤษเป็นเดือนแทนที่จะเป็นตัวเลข.

    แทน 2015/07/28, 28, กรกฎาคม, 2015 หลายคนเข้าใจง่ายและสับสนน้อยกว่า.

    การ จำกัด

    มีบางครั้งที่เราต้องการเจาะจงกับบริการของเรามากและต้องการแสดงวันที่และเวลาในเขตเวลาและภาษาท้องถิ่น มีไลบรารีและ API จำนวนมากที่นักพัฒนาเว็บสามารถใช้และแสดงวันที่และเวลาตามภูมิภาคที่เข้าถึงได้.

    คุณสามารถรับภาษาเริ่มต้นของเบราว์เซอร์ได้โดยการตีความ ยอมรับภาษา ขอส่วนหัวหรือผ่านทาง navigator.language หรือ navigator.browserLanguage วัตถุ JavaScript แต่วิธีที่ดีที่สุดคือ ให้ผู้ใช้เลือกภาษาในแอปพลิเคชันของคุณ เนื่องจากวิธีการก่อนหน้านี้ไม่น่าเชื่อถือมาก.

    เมื่อคุณมีโลแคลแล้วคุณสามารถจัดรูปแบบวันที่ตามเวลาได้ตัวอย่างเช่นการใช้ API สากล, คุณสามารถจัดรูปแบบวันที่โดยใช้ toLocaleDateString ในจาวาสคริปต์เช่น, myDate.toLocaleDateString (Ko-KR) จะส่งคืนวันที่จัดรูปแบบในรูปแบบที่ใช้ในเกาหลีโดยชาวเกาหลีที่พูดภาษาเกาหลี.

    เวลาออมแสง (DST)

    ในบางประเทศการปรับเวลาตามฤดูกาลทำได้โดยการส่งต่อนาฬิกาเป็นเวลาหนึ่งชั่วโมงในฤดูร้อนเพื่อใช้ประโยชน์จากแสงแดดที่มีให้ ระวัง DST เพื่อให้ทันกับเวลาท้องถิ่นในบริการของคุณ.

    ไม่มีปีสองหลัก

    ในขณะที่การปรับแต่งวันที่และเวลาสำหรับการแปลไม่ใช้รูปแบบตัวเลขสองหลักสำหรับปี ณ จุดใด ๆ เรามีอยู่แล้วในศตวรรษที่ 21 ใช้เวลาหลายปีเช่น 64, 99 ฯลฯ จะลำบากในอนาคต หากคุณมีระบบปีสองหลักอยู่แล้วให้พิจารณาเปลี่ยน.

    Leap Year and Calendars อื่น ๆ

    ให้เราจบโพสต์นี้ด้วยสิ่งต่าง ๆ ที่ต้องจำในขณะที่จัดการกับวันที่ หากคุณไม่ได้ใช้ไลบรารีหรือ API สำหรับวันที่และต้องการจัดการกับมันด้วยตัวคุณเอง (ซึ่งก็คือ ไม่ ยังคงแนะนำ) อย่าลืมที่จะแสดง 29 กุมภาพันธ์ในการป้อนข้อมูลสำหรับปีอธิกสุรทิน.

    นอกจากนี้ยังเป็นที่น่าสังเกตว่า ปฏิทินเกรโกเรียนไม่ใช่เพียงรูปแบบเดียวของปฏิทินที่มีและใช้ได้ ทั่วทุกมุมโลก. มีปฏิทินระดับภูมิภาคบางแห่งที่ชาวเมืองปฏิบัติตามโดยเฉพาะอย่างยิ่งเมื่อมีการเฉลิมฉลอง.

    อ้างอิง

    • สหภาพโทรคมนาคมระหว่างประเทศ: สถานะของการศึกษาเวลาสากลเชิงพิกัด (UTC) ใน ITU-R
    • ISO: ISO 8601 - รูปแบบวันที่และเวลา
    • Wikipedia: เวลาสากลเชิงพิกัด
    • Wikipedia: เวลาออมแสง
    • Wikipedia: เวลามาตรฐานกรีนนิช
    • W3C หมายเหตุ: รูปแบบวันที่และเวลา
    • เคล็ดลับ W3C: ใช้รูปแบบวันที่สากล (ISO)