1 <sect1 id="zend.date.definition.theory">
3 <title>תאורית הפעולות</title>
6 למה יש רק מחלקה אחת <code>Zend_Date</code> לניהול ותפעול בתאריכים וזמן במערכת ה Zend Framework?
10 הרבה שפות מפרידות את הניהול של זמן ותאריכי לשני מחלקות נפרדות. למרות, ש Zend Framework מנסה להשיג את מקסימום הפשטות בשימוש בה, ולהכריח את המתכנת לנהל שני אובייקטים שונים לתאריכים ולזמן בנפרד לפעמים יכולה להיות מטרד.
11 מאחר והמתודות ב <code>Zend_Date</code> תומכות בעבודה עם תאריכים שונים אשר לא יכללו את כל החלקים (עידן, שנה, חודש, יום, שעות, דקות, שניות, איזור זמן), מתכנתים נהנים
12 את הפשטות ויעילות השימוש במחלקה וכל המתודות כדי לבצע את כל הפעולות הנחוצות (לדוגמא: חיבור, חיסור, השוואה, איחוד ועוד).
13 הפרדת הניהול של תאריכים לכמה מחלקות רק יגרום לבלבול כשיש צורך בלמידה מהירה ופשטות השימוש.
14 מחלקה אחת מפחיתה את שכפול אותם קודים אשר מבצעים את אותם הפעולות, ללא צורך בהיררכיה מסובכת.
17 <sect2 id="zend.date.theory.internals">
19 <title>מידע נוסף</title>
22 <itemizedlist mark='opencircle'>
28 כל התאריכים והזמנים, נשמרים באופן פנימי בצורה אבסולוטית של הזמן הנוכחי, אשר מיוצגים על ידי זמן בשיטת ה UNIX ומביעים את ההבדל בין הזמן הנוכחי או המדובר עליו לבין הזמן של
29 January 1st, 1970 00:00:00 GMT/UTC.
30 זה אפשרי מאחר ו <code>Zend_Date</code> הוא לא מוגבל לעבודה רק עם זמנים ב UNIX.
31 כדי לעבוד עם תאריכים גדולים במיוחד אשר יוצאים מכלל הטווח שהוא Fri, 13 Dec 1901
32 20:45:54 GMT עד Tue, 19 Jan 2038 03:14:07 GMT דורשים את תוסף ה PHP בשם BCMath.
37 חלקי תאריך וזמנים ב UNIX
40 לכן, הגדרה של תאריך של שלוש שעות יוצג בתור שלוש שעות לאחר January 1st, 1970 00:00:00 GMT/UTC שיהיה בעצם:
41 0 + 3 * 60 * 60 = 10800.
49 היכן שניתן, <code>Zend_Date</code> בדרך כלל משתמשת בפונקציות של PHP כדי לשפר את הביצועים של המערכת.
58 <!--vim:se ts=4 sw=4 et:-->