פרק 9: המילניום - ניהול זמן ותאריךזמן ידידותי למשתמשלרשות המשתמש ב Perl ישנם שתי פונקציות מובנות אשר יודעות לתרגם את הזמן שהמחשב מכיר (תקופתי החל מה 1.1.70) לפורמט מובן למשתמש. הן הפונקציה gmtime והן הפונקציה localtime יודעות להוציא את הזמן הנוכחי, ו/או לשלוף אלמנטים שונים מהזמן התקופתי, כגון חודש, שעה, דקה וכדומה. אולם בעוד שgmtime מחזירה את הערכים הללו ביחס לשעון גריניץ', localtime מתאימה ערכים אלו לזמן המקומי שבמחשבכם. וזאת בהנחה, כמובן, שמערכת ההפעלה שלכם מכוונת כראוי לאזור הזמן שלכם. אנו נתבונן ב localtime, אולם gmtime עובדת בצורה זהה, ותומכת בסינטקס זהה לחלוטין, בהבדל היחיד, שהזמן המוחזר אינו מתוקן לאזור שלכם אלא לשעון גריניץ'. הדרך הפשוטה ביותר להשתמש ב localtime היא בהקשר סקלרי. לדוגמא: print scalar localtime(time); מחזיר: Wed Dec 8 10:16:31 1999 זכרו ש time מכוון לפי זמן שניה תקופתי (התאריך נשמר בספירת שניות מנקודה מסויימת); ולכן אפשר להשתמש ב localtime להדפסת גרסה ידידותית למשתמש של זמן תקופתי...לדוגמא: print scalar localtime(420221050); מחזיר: Tue Apr 26 12:04:10 1983 אני מקווה שאתם כבר רואים את היעילות שבראיית הזמן על בסיס שניות. דמיינו לעצמכם לדוגמה שאתם יודעים את הזמן הנוכחי, ואתם רוצים להציג את התאריך בעוד 24 שעות. המשימה אינה פשוטה כפי שהיא נשמעת כיוון שבלוח השנה שלנו חלק מהתאריכים יעברו לחודש הבא, וחלקם אף לשנה הבאה. אנו לא צריכים לדאוג לכך, אלא בסך הכל אומרים שיום מכיל 24 שעות. שעה מכילה 60 דקות, ודקה מכילה 60 שניות, ולפיכך יום שלם מוכל מ 60*60*24, או 86400 שניות. $now=time; $tomorrow=$now+86400; print scalar localtime($tomorrow); לפיכך, הוספה או חיסור של זמן ב Perl פשוטה ביותר. מבצעים את כל החישובים בשניות, ונותנים לפונקצית ה localtime להפוך את הזמן לפורמט של שנה, חודש, יום ושעה. הטבלה הבאה מסכמת כמה תקופות זמן ואת מקבילתם בזמן השניה התקופתי. תקופות זמן המיוצגות בשניות החל מתקופת הראשון לינואר 1970
שאתם צריכים לדעת פרק
המילניום: ניהול זמן ותאריך Perl ה
|