PracticU

עבודה עם תאריכים ב-Javascript

בלי כתוביותעם כתוביות
PracticU › קורס Javascript כולל JQuery › עבודה עם תאריכים ב-Javascript
מילון מושגים:
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
באג - תקלה או שגיאה בקוד שגורמת לתוכנה להתנהג בניגוד למצופה.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.

עבודה עם תאריכים ב-Javascript
אובייקט Date מאפשר לקרוא את התאריך והשעה במחשב של הלקוח, לחשב עליהם ולעצב אותם בפורמט משלנו, בלי לשנות את השעון האמיתי של המחשב.
השלבים העיקריים
1. יצירה: new Date() מחזיר אובייקט עם התאריך והשעה של הרגע שבו הפקודה רצה.
2. קריאת רכיבים: getFullYear מחזיר את השנה בארבע ספרות. getMonth מחזיר חודש בין 0 ל-11, ולכן מוסיפים 1. getDate מחזיר את היום בחודש, מ-1 עד 31. getDay מחזיר את יום השבוע, בין 0 ל-6, כשיום שבת הוא 6.
3. שעה: getHours מחזיר שעה בין 0 ל-23, getMinutes ו-getSeconds בין 0 ל-59, ו-getMilliseconds בין 0 ל-999.
4. פורמט משלנו: מרכיבים מחרוזת מהיום, מהחודש (עם +1), מהשנה, ואחר כך מהשעה עם נקודותיים. getYear מיושנת, כי היא מחזירה שנה בשתי ספרות.
5. מספר המילישניות: getTime מחזיר את מספר המילישניות שעברו מ-1 בינואר 1970 בחצות. זו נקודת הייחוס שמחשבים משתמשים בה לזמן.
6. באג 2038: Unix שומרת את הזמן כמספר בן ארבעה בתים. לפי ההסבר בהרצאה, ב-2038 המספר מתמלא, והשנה חוזרת לתצוגה של 1901 במערכות שמשתמשות בשיטה הזאת.
7. UTC לעומת GMT: GMT הוא שעון גריניץ' שהיה בסיס לשעונים בעולם. היום משתמשים ב-UTC, שאינו תלוי במדינה או בשעון קיץ. פונקציות כמו getUTCHours מחזירות את הערכים לפי UTC. בזמן ההקלטה שעון ישראל היה שעתיים קדימה, ו-getTimezoneOffset החזיר מינוס 120 דקות.
8. שינוי באובייקט: פונקציות set כמו setFullYear, setDate, setHours ו-setTime משנות את האובייקט בלבד, ולא את השעה במחשב של הלקוח.
9. תצוגה מוכנה: toDateString ו-toTimeString מחזירים תצוגה סטנדרטית באנגלית. toLocaleDateString ו-toLocaleTimeString מחזירים לפי המדינה הנוכחית. toString ו-toLocaleString מחזירים את התאריך והשעה ביחד.
10. תאריך אחר: אפשר ליצור new Date עם מספר מילישניות, עם מחרוזת תאריך, או עם שנה, חודש (שמתחיל מ-0), יום, שעה, דקה ושנייה.
11. פורמט שעה: פונקציה שמוסיפה 0 לפני ספרה אחת, כך שהשנייה 4 תוצג כ-04.
פקודות והגדרות
var d = new Date();, d.getFullYear(), d.getMonth() + 1, d.getDate(), d.getTimezoneOffset(), d.setFullYear(2000), d.toLocaleString().
שימו לב
השם getDate מטעה קצת, כי הוא מחזיר את היום בחודש, ואילו getDay מחזיר את יום השבוע. setFullYear משנה רק את האובייקט, לא את השעה במחשב.
השיעור מסתיים ביכולת לקרוא ולעצב תאריך ושעה, ולחשב עליהם בעזרת אובייקט Date.
השיעור הבא בקורס: פעולות מתמטיות ב-javascript
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתחילים -לחץ כאן לתלמידי המכללה בלבד

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתקדמים- לחץ כאן לתלמידי המכללה בלבד

פרקי ההרצאה: עבודה עם תאריכים ב-Javascript

  1. 00:00

    האובייקט Date

  2. 00:59

    getFullYear ו-getMonth

  3. 03:03

    שעות, דקות ושניות

  4. 04:27

    פירמוט התאריך

  5. 06:11

    getDay ו-getMilliseconds

  6. 07:18

    getTime ותאריך 1970

  7. 07:56

    באג Unix 2038

  8. 09:20

    זמן GMT

תמלול ההרצאה: עבודה עם תאריכים ב-Javascript

הטקסט המלא של הדקות הראשונות בהרצאה «עבודה עם תאריכים ב-Javascript» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

    האובייקט הבא שקיים ב-JavaScript זה אובייקט שנקרא Date. האובייקט הזה מאפשר לנו לקחת את השעה ואת התאריך הנוכחיים של המחשב של הלקוח, להסתכל עליהם, ולשנות את האובייקט מבלי לשנות את השעה ואת התאריך הנוכחיים של הלקוח.

  2. 00:18

    למה אנחנו צריכים לעשות את זה? אם אנחנו רוצים לדוגמה להציג, כמו שאנחנו רואים כאן באתר טיים, מה השעה והתאריך הנוכחיים כרגע אצל המחשב של הלקוח.

  3. 00:29

    אנחנו יכולים גם לעשות חישובים אחרים, אנחנו יכולים להציג זמן הולך אחורה עד לשעה מסוימת ועוד כל מיני דברים. אז בואו נראה איך אנחנו עובדים איתו. אז ראשית אנחנו צריכים להגדיר משתנה בדוגמת d ולהכניס אליו new date.

  4. 00:49

    ברגע שעשיתי את הדבר הזה אוטומטית d מקבל את התאריך ואת השעה הנוכחיים בזמן של הרצת הפקודה הזאת. אני עכשיו יכול להסתכל ולהציג את הפרמטרים האלה.

  5. 01:03

    בואו נראה. אז מה קיים לנו ב-d? אז ראשית אני יכול להסתכל על get full year. get full year מקבל לי את השנה הנוכחית כרגע שיש באובייקט הזה בזמן הרצאת הפקודה.

  6. 01:23

    בואו נבדוק, ואנחנו רואים שקיבלנו את השנה 2012. אותו הדבר, יש לי אפשרות להסתכל על החודש בעזרת הפונקציה get month.

  7. 01:47

    נבדוק, ואנחנו רואים כרגע שקיבלנו 5. עכשיו החודש הנוכחי זה יוני. הסיבה שקיבלתי 5 זה מפני שגט מאנס מחזירה את החודש בין 0 ל-11. זאת הסיבה שחזרנו 1 פחות.

  8. 02:10

    פונקציה נוספת נקראת גט דייט. עכשיו שימו לב, פונקציה שהשם שלה טיפה מטעה או טיפה הרבה מטעה.

  9. 02:20

    גט דייט מחזירה לנו את היום בין תחילת היום בחודש עד לסוף היום בחודש, כאשר הערך יכול להיות בין 0 ל-31. פונקציה טיפה מטעה, בואו נסתכל כרגע מה הולך לחזור.

  10. 02:43

    אז אנחנו רואים 23, בואו נסתכל מה התאריך הנוכחי, ואנחנו רואים שהתאריך הנוכחי זה 23 לשישי 2012. אז פונקציית getDate החזירה לנו את היום בעצם, 23. פונקציית getMonth החזירה לנו את החודש פחות 1, הפונקציה get full year החזירה לנו את השנה בארבע ספרות.

  11. 03:12

    אנחנו יכולים באותה צורה לראות גם את השעה. אז יש לנו את הפונקציה get hours, יש לנו את הפונקציה get minutes ויש לנו את הפונקציה get seconds. בואו נסתכל מה הן מחזירות.

  12. 03:47

    אוקיי, get hour החזירה לנו את השעה, אנחנו רואים שהשעה כרגע היא 2, זאת אומרת 14. get minutes החזירה לנו את הדקות ו-get seconds ממש את השניות.

  13. 04:00

    אז שלושת הפונקציות האלה החזירו את הערכים בדיוק כמו שהם. כלומר, שעות בין 0 ל-23, דקות בין 0 ל-59, שניות בין 0 ל-59.

  14. 04:13

    אז אם אני רוצה להציג את התאריך ואת השעה כמו שהם, מה אני בעצם יכול לעשות? אוקיי, אז בואו נציג את זה בצורה מפורמטת לפי מה שאנחנו רוצים.

  15. 04:31

    אז ראשית, נציג את היום. שוב, זאת פונקציה מוזרה הזאת עם השם הלא מדויק, getDate.

  16. 04:39

    לאחר מכן נפרמט איזה תו שאנחנו רוצים, לאחר מכן get month מחזירה לנו את החודש אבל שמנו לב שזה אחד פחות לכן אנחנו נעלה אותו באחד, נשרשר אותו שוב עם סלאש ונשרשר את זה עם get full year.

  17. 05:06

    שימו לב שקיימת עוד פונקציה שנקראת get year אבל הפונקציה הזאת היא מיושנת מהסיבה שהיא מחזירה לנו את היום בשתי ספרות לכן חשוב להשתמש ב-get full year. אז בעצם מה שאנחנו מציגים כרגע זה אך ורק התאריך בפורמט מסוים שאנחנו רוצים.

  18. 05:28

    בואו נסתכל על זה, ואנחנו רואים שהתאריך מוצג 23.6.2012. עכשיו אם אנחנו רוצים להמשיך ולהציג את השעה, בואו נמשיך לפרמט את getHours, הפעם נפרמט אותו עם נקודותיים, לאחר מכן getMinutes, ולאחר מכן getSeconds.

  19. 06:09

    בואו נבדוק, ויש לנו כרגע את השעה. פונקציה נוספת שמאפשרת לנו לקחת מידע מהתאריך נקראת get day. פונקציית get day מאפשרת לנו לקבל את היום בשבוע.

  20. 06:36

    היום, יום שבת. הפונקציה מחזירה מספר בין 0 ל-6. שבת זה כמובן 6. פונקציה נוספת נקראת get milliseconds.

  21. 06:54

    הפונקציה מאפשרת לקבל את המילישניות בשעה הנוכחית. בואו נראה. קיבלנו מספר בין 0 ל-999, וזה בעצם המילי שניות בשעה הנוכחית.

  22. 07:14

    כל פעם שנריץ נקבל מספר אחר. פונקציה נוספת נקראת get time. פונקציית get time מחזירה לנו את מספר המילי שניות שעברו מתאריך מאוד מאוד ידוע בעולם המחשבים, והתאריך הזה זה 1 בינואר 1970 חצות.

  23. 07:43

    התאריך הזה מאפשר לקבוע המון דברים בעולם הפיתוח תוכנה. בעצם מהתאריך הזה מתחילים לספור את המילי שניות, המחשבים משתמשים בתאריך המיוחד הזה בשביל לקבוע את השעה הנוכחית.

  24. 07:56

    דרך אגב, משהו מעניין בקשר לתאריך הזה אפשר לראות כאשר אנחנו מחפשים בגוגל באג unix 2038. מה שקורה זה שב-2038 התאריך הזה בעצם מהתאריך ועד 2038 הולכים להיות מספר מילי שניות שימלא ארבעה בתים, כלומר אינטג'ר אחד, ולכן מה שהולך לקרות, אנחנו יכולים לראות

  25. 08:30

    את זה כאן, זה שהשנה 2038 הולכת להפוך בדיוק בתאריך הזה לשנה 1901 מבחינת המערכות מחשב שמשתמשות בשיטה הזאת. יוניקס משתמשת המון בשיטה הזאת, ולכן מערכות יוניקס הולכות בעצם לקבל את הבאג הזה בצורה נרחבת, אם ב-2038 הם עדיין ישתמשו בשיטה הזאת.

  26. 08:54

    אז בעצם אנחנו יכולים לראות שהתאריך 2038 ב-19 לראשון בשעה 3 לפנות בוקר הולך למלא את כל הספרות של אינטג'ר והתאריך בעצם הולך להתחלף ל-1901 תם לידע כללי.

  27. 09:14

    עכשיו בעולם השעה והתאריך ישנם שני מונחים ששווה מאוד להכיר. מונח אחד נקרא GMT. GMT זה קיצור של גריניץ' זה בעצם מונח שאומר השעה ברובע גריניץ' שבלונדון.

  28. 09:37

    רובע גריניץ' נמצאת בקו רוחב 0 ולכן השעה הזאת הייתה שעה קבועה בכל השנה בעצם ולא נתונה לשינויים של שעון קיץ ושעון חורף ולכן במשך הרבה שנים זה היה השעה שלפיה נקבעו השעונים בכל העולם.

  29. 09:56

    השעה הזאת לא הייתה הכי מדויקת ולכן החליפו

לקורס המלא: קורס Javascript אונליין

ההרצאה הקודמת: עבודה עם טקסטים - String

ההרצאה הבאה: פעולות מתמטיות ב-javascript

הרצאות קשורות מקורסים אחרים

  • עבודה עם תאריכים - UIDatePicker
  • פונקציות תאריכים ב-Qlik
  • פונקציות מערכת - תאריכים
  • עבודה עם VI - חלק 1

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS