דף הבית » קידוד » הצג תאריך ושעה איך לעשות את זה נכון

    הצג תאריך ושעה איך לעשות את זה נכון

    אנחנו נתקלים בהם בתאריכים ובזמן ... טוב, כל יום. כשמדובר באינטרנט, תוכל לזהות אותם באפליקציות שלך לנייד, בהודעות אימייל, באפליקציות העברת ההודעות ובמקומות רבים אחרים. עם זאת, למרות התאריך והשעה בכל יום ובכל מקום, יש לנו עדיין לאמץ פורמט אוניברסלי עבור זה.

    לדוגמה, אם אני כותב 10/05/2015, אתה לא יכול להיות בטוח אם זה "10" הוא החודש או התאריך, אלא אם כן אני אומר לך מאיפה אני. לפעמים הפורמט משתנה, פעמים אחרות את השפה.

    זה חשוב כי כמו מפתחי אינטרנט אנחנו שמים לב לתאריך ושעה שאנחנו מתמודדים עם הפרויקטים שלנו, כך שנוכל לספק אותם לתושבים גיאוגרפיים שונים ללא כל סכסוך. בפוסט הזה נדון מה להימנע ומה לאמץ כאשר מדובר בהצגת תאריך.

    גלובליזציה

    נניח שאיננו מעוניינים להמיר ולהציג פורמטים שונים של תאריכים ושעות לצופים שונים ברחבי העולם, מה נוכל לעשות? אנו בוחרים תבנית אחת גלובלית ומקלדים בה. הנה המקום שבו כמה תקנים באים לידי ביטוי. לפני שנגיע לזה, אני חייב להמליץ ​​ש- W3C ממליץ להשתמש בפורמט ISO 8601, עם אזור זמן של UTC.

    ISO 8601

    ISO 8601 מתאר דרך מקובלת בעולם לייצוג תאריכים ושעות באמצעות מספרים.

    ואת הפורמט עבור תאריך מלא הוא; YYYY-MM-DD, לדוגמה: 2015-07 2015-07

    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 digit minute (00 עד 59)ss = 2 digit second (00 עד 59)s = מספר עשרוני של שנייה, ספרה אחת או יותר

    שים לב כי כמו כל אזור לא הוזכר בדוגמה לעיל ולכן יש להניח כי הזמן הוא אזור הזמן המקומי. אם החלטתם להשתמש אזור זמן UTC, פשוט להוסיף Z לערך לציון UTC

    לדוגמה: 2015-07-28T21: 15: 18.45Z

    אבל אם אתה רוצה להציג את הזמן המקומי, אז אתה יכול להוסיף קיזוז זמן עבור UTC לערך בפורמטים +h: mm או -h: mm לפי צורך.

    לדוגמה: נניח 2015-07-28T21: 15: 18.45 הוא EST (זמן רגיל במזרח) אשר מפגר 5 שעות מאחורי אזור זמן UTC.

    כדי לייצג אותו עם היסט UTC אנחנו כותבים 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 2015-07, 28, יולי, 2015 הוא קל יותר להבין על ידי רבים, פחות מבלבל.

    לוקליזציה

    יש מקרים שבהם אנחנו רוצים להיות מאוד ספציפיים עם השירותים שלנו וברצוננו לייצג את התאריך והשעה של אזורי זמן מקומיים. יש ספריות וממשקי API רבים זמינים עבור מפתחי אינטרנט כדי להשתמש ולהציג את התאריכים והשעות לפי אזור גישה.

    באפשרותך לקבל את מיקום ברירת המחדל של הדפדפן או על ידי פרשנות קבל שפה כותרת הבקשה או דרך או navigator.browserLanguage אובייקט JavaScript, אבל השיטה הטובה ביותר היא תן למשתמש לבחור מקום ביישום שלך שכן הדרכים לשעבר לא מאוד מהימן.

    ברגע שיש לך את המקום, אתה יכול לעצב את תאריך התאריך על פי זה, למשל באמצעות ממשק API של בינאום, ניתן לעצב תאריך באמצעות כדי ב- JavaScript, למשל, myDate.toLocaleDateString ('ko-KR') יחזור תאריך מעוצב בפורמט המשמש בקוריאה על ידי ילידי דוברי קוריאנית.

    שעון קיץ (DST)

    במדינות מסוימות שעון קיץ נעשה על ידי העברת השעונים לפי שעה בקיץ כדי לנצל את השמש הנוספת הזמינה. להיות מודעים DST כדי לשמור על קשר עם פעמים המקומי בשירותים שלך.

    אין שנה דו-ספרית

    בעוד התאמה אישית של התאריך והשעה עבור לוקליזציה לא להשתמש בפורמט דו ספרתי עבור השנה בכל נקודת זמן. אנחנו כבר במאה ה -21. באמצעות שנים כמו 64, 99 וכו 'יהיה בעייתי בעתיד. אם כבר יש לך מערכת דו שנתית במקום לשקול לשנות את זה.

    הקפיצה שנה ויומנים אחרים

    תן לנו לסיים את ההודעה עם כמה דברים שונים לזכור בעת התמודדות עם תאריכים. אם אתה לא משתמש בכל ספריה או API עבור תאריכים כמו להתמודד עם אותם בעצמך (וזה לא מומלץ בכל זאת), אל תשכח להראות את 29 בפברואר קלט את השנים מעוברת.

    כמו כן, ראוי לציין כי לוח השנה הגרגוריאני אינו הצורה היחידה של לוח השנה הזמין והמשומש בכל העולם. יש כמה לוחות שנה אזוריים כי המקומיים בצע, במיוחד כשמדובר החגיגות.

    הפניות

    • איגוד הטלקומוניקציה הבינלאומי: מצב מחקר אוניברסלי מתואם (UTC) ב- ITU-R
    • ISO 8601 - פורמט תאריך ושעה
    • ויקיפדיה: זמן אוניברסלי מתואם
    • ויקיפדיה: שעון קיץ
    • ויקיפדיה: זמן גריניץ '
    • W3C הערה: תאריך ושעה פורמטים
    • W3C טיפים: השתמש בפורמט תאריך בינלאומי (ISO)