פרק 9: המילניום - ניהול זמן ותאריךה Perl שאתם צריכים לדעת: פרק המילניום - ניהול זמן ותאריךקריאת מאמר זה כאשר באג 2000 (Y2K) המפורסם, מתקרב והולך, מאוחרת מדי אם אתם עובדים כפקחים אוויריים. אולם מחשבתנו נעה גם מעבר למילניום, במיוחד אם אנו בעלי מסעדה או מחסן סחורות, ולכן בחינת נושא הזמן ב Perl נראית הדבר הטבעי לעשות. נושא זה שימושי ביותר וקל יחסית לשליטה, מה שמועיל ביותר בהתחשב בסיכויינו הטובים למות בקרוב. במאמר זה נלמד איך Perl מתייחסת לתאריכים, ימים, חודשים, שעות, דקות וכו'. נסיון בסיסי ב Perl יועיל, וכך גם הכרות עם הפרקים הקודמים. לידתה של תקופהשנת 1970 אינה חשובה לרובכם. המהפכה של שנות השישים חלפה ועברה לה, והתקופה המזעזעת של סוף השבעים, המאופיינת בלבוש מגוחך ושער מגודל עדיין לא הגיעה. אולם, כמו שחלקכם בוודאי יודעים, שנת 1970 הייתה לידתה של תקופה חדשה לאנושות. זוהי השנה שבה המחשבים התחילו לספור שניות. זה אך טבעי לשאול איש חולף ברחוב "מה השעה אצלך?" אולם כשמדובר ב Perlמוטב שתשאלו "כמה שניות יש לך?", כיוון שלגבי Perl, כמו לגבי רוב הדברים שהתפתחו ב UNIX הזמן הוא פשוט מספר השניות שחלפו מהתאריך הגורלי - הראשון לינואר 1970. ברגע כתיבת מאמר זה, עברו בדיוק 944,600,004 שניות מאז תחילת התקופה. איך שהזמן רץ. אני זוכר את השניה 841,120,002 כאילו זה היה אתמול - כאשר אתמול היה, כמובן, לפני 86,400 שניות. ובכן, כמו שאתם יכולים לראות, שימוש בשניות פשוט למדי בשביל מחשבים, אולם מהווה כאב ראש עצום בשבילנו, בני האדם. פונקציית ה time הבנויה בתוך Perl היא הבסיס לרוב הפעולות הקשורות בניהול זמן, וכמו שניתן להבין ממבוא זה, עובדת עם מספר השניות התקופתיות שעברו מאז 1970. $epochTime=time; אינכם יכולים להשתמש בזמן תקופתי הקטן מאפס, מה שאומר שאי אפשר לחזור לתאריך מוקדם יותר מהראשון לינואר 1970 זמן GMT. אבל מי בכלל זוכר כל-כך רחוק? שנית, לא ניתן לקבוע זמן תקופתי הגדול יותר מ 2147483647, שהוא הערך הגדול ביותר הניתן לייצוג במבנה של 32 ביט. משמעות פרט זה היא שהתקופה שהחלה בראשון לינואר, 1970 תסתיים ביום שלישי, ה 19 לינואר 2038 בשעה 3:47 לפי זמן GMT. סמנו זאת ביומניכם! וכן, המשמעות של זה היא שכשל תוכנה חמור מחקה לנו בפינה, והוא קרוב הרבה יותר מ Y3K. תוכן הענינים:
|