ג’ון סקיט, שכבר דיברנו עליו לפני כמה ימים, עובד בגוגל על פרוייקט בשם Noda Time. זה פרוייקט שאמור לסדר את ענייני ה-DateTime בדוטנט. הוא מבוסס על Joda Time של JAVA.
לכאורה נראה שעניין ה-DateTime הוא טריוויאלי, ומה כבר יכול להיות מעניין בזה, במיוחד לאנשים ברמה של סקיט? אלא שבפוסט שלו מלפני כמה חודשים, הוא משתף את הקוראים בכמה מהאתגרים שעומדים בפני פרויייקט כזה. למשל, מה קורה כשרוצים להוסיף זמן לתאריך מסוים? לדוגמה: איך מתמודדים עם דברים כמו “חודש אחרי ה-30 בינואר 2010”? הרי יכולות להיות לזה כמה אפשרויות קבילות:
-
לעגל למטה לסוף החודש – ה-28 בפברואר
-
לעגל למעלה לתחילת החודש הבא: ה-1 במרץ
-
למדוד כמה זמן באמת הוספנו, ולהוסיף את זה לחודש הבא: ה-2 במרץ
-
לזרוק exception
סקיט, בדרכו היסודית, מביא עוד דוגמאות, והדברים במיוחד מסתבכים כשמערבים כמה אזורי זמן (Time Zones)….
זה פוסט לא ארוך, ואם אתם אוהבים לקרוא דברים שכתובים ביסודיות, ולראות קצת צרות של אחרים, אז זה מומלץ 🙂