logo


פרק 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.

תוכן הענינים:

זמן ידידותי למשתמש

הזמן בפרוסות

להפוך את הזמן

התעמלות עם Date::Manip

התעמלות עם לוח שנה

סיכום


תוכן עניינים
זמן ידידותי למשתמש

אודות
תוכן עניינים
פרק 1: ה Perl שאתם צריכים לדעת
פרק 2: קישור Perl לעמודי הרשת
פרק 3: שמירת מצב
פרק 4: HTML בחטף ותבניות (Templates) רשת
פרק 5: עיבוד וניתוח של עמודי רשת
פרק 6: להשתעשע עם בסיסי נתונים מקוונים:אקסס
פרק 7: המודל MySQL
פרק 8: להשתעשע בבסיסי נתונים - GUFE - החזית הכללית והשימושית
פרק 9: המילניום - ניהול זמן ותאריך
זמן ידידותי למשתמש  
הזמן בפרוסות  
להפוך את הזמן  
התעמלות עם Date::Manip  
התעמלות עם לוח שנה  
סיכום  
פרק 10: ניהול רשימות והאשים (Hashs)
פרק 11: הפניה להפניה
פרק 12: הכרות עם mod_perl