Command Palette

Search for a command to run...

ממיר אזור זמן: המר זמנים בין ערים מבלי לטעות ב-DST

ממיר אזור זמן: המר זמנים בין ערים מבלי לטעות ב-DST

T
Toolz Team
|Jul 17, 2026|20 קריאה דקות

חלק מאוסף מִמוּר

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

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

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

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

תכונות מפתח

קיזוזים נפתרו ברגע, לעולם לא מקודדים

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

יותר מ-50 אזורי IANA שנאספו

הבוחר מפרט את הערים שאנשים למעשה מתזמנים, מקובצים לפי אזור, מסומנים עם המדינה שלהם ומוצגים לצד מזהה IANA המלא. החלק האחרון הזה חשוב יותר ממה שהוא נראה: Asia/Kolkata האם המחרוזת שאתה מדביק לביטוי cron, היא Postgres AT TIME ZONE סעיף, או פייתון ZoneInfo בַּנָאי. קריאה " קולקטה, הודו" והעתקה Asia/Kolkata הן שתי עבודות שונות, והכלי עושה את שתיהן.

רצועת מתכנן פגישות

מתחת להמרה, כל אזור שאתה מוסיף מקבל שורה של תאי שעה המשתרעים על החלון סביב הרגע שלך שעות העבודה (09:00 עד 17:59 מקומיות) מוצלות, שעות מוקדמות ומאוחרות מסומנות בנפרד, וכל תא הנופל ביום קלנדרי אחר נושא א +1d או -1d תג. מציאת שעה מתורבתת בסן פרנסיסקו, לונדון וסידני בו זמנית היא בעיה קשה - הרצועה הופכת אותה לוויזואלית במקום אריתמטית.

אזורים של חצי שעה ורבע שעה מטופלים כרגיל

הודו היא UTC+05:30. נפאל היא UTC+05:45. אדלייד היא UTC+09:30 בחורף ו-UTC+10:30 בקיץ. איי צ'טהאם הם UTC+12:45. בערך חמישית מהעולם ' אוכלוסיית ה-s חיה על קיזוז שאינו מספר שלם של שעות, וכל כלי שמניח אחרת שגוי עבור מאות מיליוני אנשים. קיזוזים כאן מאוחסנים ומוצגים תוך דקות.

קיצורים המוצגים לתאריך שהזנת

כל צד של ההמרה מציג את קיצור האזור בתוקף באותו רגע - EST או EDT, GMT או BST, AEST או AEDT. זוהי הדרך המהירה ביותר לראות באיזה צד של מעבר נחתת אם הזנת תאריך מרץ והכלי אומר EDT, השעונים כבר השתנו אם כתוב EST, הם לא.

צד לקוח לחלוטין

כל חישוב פועל ב-JavaScript בדפדפן שלך, באמצעות Intl API ואת מסד הנתונים אזור זמן כי ספינות עם המנוע.Nothing אתה מזין מועלה, שום דבר לא נרשם, וברגע הדף נטען הממיר ממשיך לעבוד ללא חיבור רשת בכלל זה גם אומר התוצאה מעדכנת ברגע שאתה משנה שדה, כי אין נסיעה הלוך ושוב לחכות.

כיצד להשתמש בממיר אזור הזמן

שלב 1: הגדר את אזור המקור, התאריך והשעה

בחר את העיר שאתה ממיר מ, ואז הזן את התאריך והשעה בדיוק כפי שהשעון קורא שם שדה הזמן לוקח ערך של 24 שעות, אז 3pm הוא 15:00. אם אתה רוצה את הרגע הנוכחי ולא היפותטי, לחץ עכשיו- הוא טוען את התאריך והשעה הנוכחיים כפי שניתן לראות באזור המקור, שאינו בהכרח אותו תאריך כמו זה שעל הקיר שלך.

שלב 2: בחר את אזור היעד

בחר את העיר שבה אתה רוצה את התשובה. התאריך, השעה והקריאה של 12 השעות שהומרו מופיעים מיד, יחד עם הקיזוז והקיצור של UTC החלים בתאריך המסוים הזה. שים לב שה תאריך יכול לשנות: 21:00 ביום שני בניו יורק הוא 07:00 ביום שלישי בדאקה, והכלי מציג את התאריך החדש במקום להשאיר אותך בשקט לפתור את זה.

שלב 3: קרא את הקיזוזים ואת הפער

מתחת לכל צד אתה מקבל את הקיזוז UTC±HH:MM טופס וקיצור האזור. ביניהם, הכלי מציין את הקשר במילים - "Dhaka מקדימה ב-10 שעות את New York" - עם הערך הנכון לתאריך זה, לא ממוצע שנשנן. השתמש בלחצן ההחלפה כדי להפוך את הכיוון; זה שומר על אותו הדבר מיידי ומהפך לאיזה צד אתה נכנס, וזה מה שאתה כמעט תמיד רוצה.

שלב 4: בנה את רצועת הפגישה

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

שלב 5: העתק את התוצאה

העתק רק את הזמן המומר, או את הביטוי המלא - Sun, Mar 12, 2026 09:00 EDT (America/New_York) = Sun, Mar 12, 2026 13:00 GMT (Europe/London)- ולהדביק אותו בלוח השנה להזמין כתיבת שני הצדדים עם הקיצורים שלהם הוא הרגל היחיד היעיל ביותר עבור לא לחזור על הטעות שלי בלונדון.

כיצד למעשה עובדת המרת אזור זמן

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

לדגם הנכון יש שלוש שכבות.

שכבה אחת: הרגע. מתחת לכל דבר יש נקודה אחת על ציר הזמן האוניברסלי - חותמת זמן של עידן, ספירה של שניות מאז 1970-01-01T00:00:00Z. המיידים הם חד משמעיים כולם על פני כדור הארץ חווים את אותו הרגע בו זמנית, מה שהשעון שלהם אומר.

שכבה שניה: ההיסט. קיזוז הוא מספר חתום של דקות להוספה ל-UTC כדי לקבל זמן שעון קיר מקומי. UTC-04:00 הוא קיזוז. זה א תוצאה, לא רכוש של מקום.

שכבה שלוש: האזור. אזור הוא מערכת חוקים בשם - America/New_York- שממפה רגע לקיזוז. זו השכבה שאנשים קורסים לשכבה שנייה, והקריסה הזו היא המקור כמעט לכל באג של אזור זמן שנכתב אי פעם.

אז המרה היא לא localB = localA + delta. זה:

instant  = resolve(wallClockA, zoneA)   // rules of A, applied to that reading
wallClockB = render(instant, zoneB)     // rules of B, applied to that instant

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

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

מסד הנתונים של אזור הזמן של IANA

מסד הנתונים הכל תלוי מתוחזק על ידי IANA ולעתים קרובות עדיין נקרא "Olson database" אחרי ארתור דיוויד אולסון, שהתחיל אותו בשנות ה-1980. זה נשלח בתוך כל מערכת הפעלה, כל דפדפן, כל JVM וכל התקנת Python, והוא מתעדכן מספר פעמים בשנה כי ממשלות ממשיכות לשנות את דעתם.

המזהים שלו לובשים את הצורה Area/Location: America/New_York, Europe/London, Asia/Kolkata, Australia/Sydney. המיקום הוא עיר ייצוגית, לא טענה פוליטית - America/New_York מכסה את כל האזור המזרחי של ארהב, ואינדיאנה זקוקה לתריסר מזהים משלה מכיוון שהמחוזות שלה לא הסכימו במשך עשרות שנים אם לשמור על שעון קיץ.

מה שמאחסן מסד הנתונים אינו היסט בודד לכל אזור אלא היסטוריית כללים מלאה. הוא יודע שאוקראינה's Europe/Kyiv היה Europe/Kiev עד שהכתיב עודכן ב-2022. היא יודעת שמצרים הציגה מחדש את שעון הקיץ ב-2023 לאחר שנטשה אותו ב-2014. היא יודעת שסמואה דילגה לחלוטין על ה-30 בדצמבר 2011 כשהיא קפצה על קו התאריכים הבינלאומי. ההיסטוריה הזו היא הסיבה להמרת תאריך ב-2015 ותאריך ב-2025 עבור אותו זוג ערים יכולה לייצר תשובות שונות באופן לגיטימי, ומדוע כלי שמקודד קיזוז הוא כלי שמשקר לגבי העבר.

ההשלכה המעשית לכל מי שכותב תוכנה: אחסן רגעים ב-UTC, אחסן את המשתמש 's אזור כמזהה IANA, והמר רק בשכבת התצוגה. לעולם אל תאחסן קיזוז קיזוז הוא עיבוד של כלל, והכללים משתנים אם אתה עובד עם ערכי עידן ישירות, ה ממיר חותמת זמן הוא הכלי הנלווה לקריאתם כתאריכים.

קיזוז UTC, קיצורים ושמות אזורים: באילו להשתמש

שלושת הדברים האלה מבולבלים כל הזמן, והם לא ניתנים להחלפה.

טופס דוגמה יציב? ייחודי? השתמש בו עבור
שם אזור IANA America/New_York כן, מעבר לדי-סט כן אחסון, קוד, תצורה, ממשקי API
קיזוז UTC UTC-04:00 לא, שינויים עם DST לא תצוגה, פורמטים של חוטים עם חיבור מיידי
קיצור EDT לא, שינויים עם DST לא תצוגה הפונה לאדם בלבד

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

צורת הקיזוז היא חד משמעית אך לא יציבה: UTC+01:00 מזהה נכון עיבוד מיידי 's, אבל זה לא אזור, ואתה לא יכול להשתמש בו כדי לחשב הבא עיבוד של Tuesday's, כי יום שלישי הבא עשוי ליפול בצד השני של המעבר.

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

מדוע הפער בין שתי ערים ממשיך לנוע

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

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

סדר אותם בשורה ותקבל חלונות חפיפה שבהם הפער הרגיל פשוט שגוי:

תקופה שעון ניו יורק שעון לונדון פער
רוב החורף EST (UTC−05:00) GMT (UTC+00:00) 5 שעות
יום ראשון השני במרץ → יום ראשון האחרון במרץ EDT (UTC−04:00) GMT (UTC+00:00) 4 שעות
רוב הקיץ EDT (UTC−04:00) BST (UTC+01:00) 5 שעות
יום ראשון האחרון באוקטובר → יום ראשון הראשון בנובמבר EDT (UTC−04:00) GMT (UTC+00:00) 4 שעות

שני חלונות בשנה - בערך שלושה שבועות באביב ושבוע אחד בסתיו - שבהם כל "we' תמיד בהפרש של חמש שעות" ההנחה בלוח השנה שלך כבויה בשעה. וזה רק זוג ערים אחד. הוסף את סידני, שהמעברים שלה פועלים בכיוון ההפוך, ומספר ערכי הפער המובהקים על פני שנה מטפס במהירות.

המעברים עצמם יוצרים עוד שני מפגעים ששווה לתת להם שם כאשר שעונים קופצים קדימה, שעה של זמן מקומי לא קיים- 02:30 בליל המעבר בניו יורק זו לא קריאה אמיתית כשהשעונים נופלים אחורה, שעה של זמן מקומי קורה פעמיים, וקריאה חשופה בשעון קיר היא באמת מעורפלת הממיר פותר זמנים לא קיימים לרגע מיד לאחר המעבר וזמנים מעורפלים להתרחשות הראשונה, שהיא המוסכמה שרוב תוכנות לוח השנה עוקבות אחריה. זו לא הבחירה היחידה הניתנת להגנה, אבל היא זו שמייצרת הכי פחות הפתעות.

מקרי שימוש נפוצים

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

כתיבת הזמנות והודעות לוח שנה. ציין תמיד את השעה עם אזור, תן תמיד לפחות שני עיבודים, והעדיף את השם IANA או קיצור מוסמך מלא על פני "my time". "14:00 UTC (10:00 EDT / 19:30 IST)" הוא חד משמעי. "2pm" הוא היפוך מטבע.

איתור באגים בחותמות זמן ביומנים. שרת נכנס ל-UTC, לקוח מדווח על תקרית בזמן מקומי, ויש ליישב את השניים לפני שתוכל למצוא את הבקשה. המר את הלקוח's דווח ל-UTC, ולאחר מכן חפש. אם היומנים הם ערכי עידן ולא מחרוזות ISO, הפעל אותם דרך ממיר חותמת זמן ראשון.

תזמון עבודות cron ועבודות רקע. ביטוי cron בשרת שהוגדר ל-UTC לא ישתנה עם משתמש's שינוי שעון קיץ, וזה בדרך כלל מה שאתה רוצה - ומדי פעם בדיוק מה שאתה לא רוצה, אם העבודה אמורה לפעול בשעה 09:00 מקומית עבור לקוח במדינה צופה ב-DST. עבד את שתי הקריאות לפני שאתה מתחייב ללוח הזמנים; ה מנתח Cron יגיד לך מה הביטוי שלך בעצם אומר.

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

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

שָׁוא

איך אני ממיר את EST ל-IST?

בחר America/New_York כמקור ו Asia/Kolkata כיעד הודו מקדימה ב-10 שעות 30 דקות את ניו יורק בזמן שעון המזרח ו-9 שעות 30 דקות לפני שעון המזרח, כי הודו לא שומרת על שעון קיץ וארצות הברית עושה זאת הפער המשתנה הזה הוא בדיוק הסיבה שאתה צריך להמיר נגד תאריך במקום לשנן מספר בודד.

מה ההבדל בין EST ל-EDT?

EST (Eastern Standard Time) הוא UTC−05:00 והוא חל בחורף. EDT (Eastern Daylight Time) הוא UTC−04:00 והוא חל מיום ראשון השני במרץ ועד יום ראשון הראשון בנובמבר. "Eastern Time" או ET הוא מונח הגג שמשמעותו לפי התוקף כרגע במסמכים ובקוד, העדיפו את מזהה IANA America/New_York, שהוא חד משמעי כל השנה.

האם הממיר הזה מטפל בשעון קיץ?

כן, וזה עושה זאת עבור התאריך שאתה מזין ולא עבור היום. Every zone' קיזוז s נפתר דרך מסד הנתונים של אזור הזמן של IANA ברגע הספציפי שאתה ממיר, כך שפגישה ב-1 במרץ ואותה פגישה ב-15 במרץ בין ניו יורק ללונדון יראו בצורה נכונה פער של חמש שעות ופער של ארבע שעות בהתאמה - ארצות הברית מזיזה את השעונים שלה קדימה שלושה שבועות לפני שאירופה עושה זאת.

מהו מזהה אזור זמן של IANA?

זה שם כמו America/New_York, Europe/London, או Asia/Kolkata נלקח ממסד הנתונים של אזור הזמן של IANA, מערך ההתייחסות שמתעד לא רק קיזוזים נוכחיים אלא כל שינוי כלל היסטורי. מזהים הם צמדי אזור/מיקום, והם הדרך הבטוחה היחידה לתת שם לאזור בתוכנה, מכיוון שקיצורים כמו CST אינם חד משמעיים - US Central, China Standard ו-Cuba Standard טוענים זאת כולם.

מדוע באזורי זמן מסוימים יש קיזוז של 30 או 45 דקות?

כי אזורים הם פוליטיים, לא גיאומטריים הודו התיישבה על UTC+05:30 כדי להפעיל מדינה רחבה על שעון יחיד נפאל בחרה UTC+05:45 לשבת רבע שעה לפני הודו אדלייד היא UTC+09:30 ואיי צ'טהאם הם UTC+12:45 כל קוד שמניח קיזוזים הם שעות שלמות יהיה בסופו של דבר שגוי עבור כחמישית מאוכלוסיית העולם 's.

מה זה UTC ובמה זה שונה מ-GMT?

UTC (זמן אוניברסלי מתואם) הוא תקן השעון האטומי שכל אזור מוגדר כקיזוז ממנו. GMT (Greenwich Mean Time) הוא אזור זמן שבמקרה שווה ל-UTC+00:00 בחורף - בריטניה עוברת ל-BST (UTC+01:00) בקיץ, אז "GMT" ו-"London time" הם לא אותו דבר כל השנה. אחסן והשווה רגעים ב-UTC; המר לאזור רק לתצוגה.

כמה אזורי זמן יש בעולם?

יש 24 רצועות של שעה אחת בתיאוריה, אבל בסביבות 38 קיזוז UTC ברורים נמצאים בשימוש לאחר ספירת אזורים של חצי שעה ורבע שעה, המשתרעים על UTC−12:00 עד UTC+14:00. פריסה של 26 שעות היא הסיבה לכך ששני מקומות על פני כדור הארץ יכולים להיות בתאריכי לוח שנה שונים באותו רגע. מסד הנתונים של IANA עצמו מגדיר כמה מאות אזורים בעלי שם, מכיוון שהוא עוקב אחר כללים היסטוריים כמו גם עדכניים.

מה קורה לזמן שנופל בפער של שעון קיץ?

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

Frequently Asked Questions

Select America/New_York as the source and Asia/Kolkata as the target. India is 10 hours 30 minutes ahead of New York during Eastern Standard Time and 9 hours 30 minutes ahead during Eastern Daylight Time, because India does not observe daylight saving and the United States does. That shifting gap is exactly why you should convert against a date rather than memorise a single number.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!