שלח תשובה

זירת השאלות

23 תשובות

  1. Night הגיב:

    DateAdd in JS
    פונקציה מקבילה לDateAdd בJS?

  2. BuildHome הגיב:

    תשובה
    יש את setMonth,setMinutes,setHours ועוד.
    למשל אם אתה מעוניין שהתאריך יהיה מדויק לשעון ישראל אז תשתמש ב-setHours בצורה כזו:
    theDate = new Date();
    theDate.setHours(theDate.getHours()+7);

    פרטים אודות השיטה [בתפריט הצד יש את שאר השיטות].

  3. Night הגיב:

    אבל..
    אני צריך להוסיף ימים/להוריד ימים לתאריך מסויים.
    יש לי רק תאריך, בלי זמן.
    לדוגמא יש לי את התאריך 01/01/2004, אין זמן. איך אני מוסיף לו יום, ככה שיהיה 02/01/2004? ואיך אני מוריד ממנו יום, ככה שיהיה 31/12/2003?

    תודה

  4. אוריקס הגיב:

    קודם כל
    אין דבר כזה תאריך בלי זמן, זה אותו datatype.
    ולשאלתך:


    var x = new Date();
    x.setDate(x.getDate() + 1);
    alert(x.getDate());

  5. Night הגיב:

    לא מצליח..
    אני עושה ככה:

    var x = new Date(04,10,31); //31/10/04
    x.setDate(x.getDate() + 1); //אמור להחזיר לי 01/11/04
    alert(x.getDate());

    במקום שזה יחזיר לי 01/11/04, זה מחזיר לי 2.

    מה הבעיה בקוד?
    (התאריך שאני רוצה להוסיף לו יום אחד, הוא לא חייב להיות התאריך של אותו יום)

    שאני מוסיף יום זה צריך לדעת שאם אני יתן לו את התאריך 31/12/04, וארצה להוסיף לו יום, שיחזיר לי 01/01/05. ואם ארצה להחסיר יום מהתאריך 01/01/05, שיחזיר לי 31/12/04.

    עוד דבר:
    האם אני יכול לתת לו שנה מלאה? (2004 ולא 04).

    תודה

  6. אוריקס הגיב:

    שתי התשובות בקוד אחד:


    var x = new Date("10/31/2004"); //31/10/04
    x.setDate(x.getDate() + 1); //אמור להחזיר לי 01/11/04
    alert(x.toString());

  7. Night הגיב:

    לא טוב.. :-/
    זה לא מחזיר לי תאריך במבנה XX/XX/XX, אלה:
    Mon Nov 1 00:00:00 UTC+0200 2004

    תודה על העזרה.

  8. BuildHome הגיב:

    תשובה
    var x = new Date("10/31/2004"); //31/10/04
    x.setDate(x.getDate()+1); //אמור להחזיר לי 01/11/04
    alert(x.getDate()+"/"+(x.getMonth()+1)+"/"+x.getYear());

  9. Night הגיב:

    תודה
    למרות שענו לי כבר בתפוז ואתה קוד שנתת לי גם אני חיברתי 🙂

  10. Night הגיב:

    המרת סטרינג לתאריך
    יש לי את X:

    var x="01/01/2005";

    כרגע x הוא סטרינג.
    אני רוצה להפוך אותו לתאריך, כך שאוכל להפעיל עליו פונקציות של תאריך.
    ואני לא רוצה לעשות כך:

    var x="01/01/2005";
    var y=new date(x);

    ואז להשתמש בy, אני רוצה שx יהפוך למשתנה תאריך. (הקוד הזה יהיה בלולאה, לכן אני לא רוצה להשתמש בnew date)

    ניסיתי לעשות כך:

    var x="01/01/2005";
    x.toDateString()
    alert(x.getDate());

    בתקווה שזה יחזיר לי את מספר היום בתאריך, אבל זה החזיר שגיאה(מה שאומר שהניסיון להפוך את x למשתנה תאריך לא עבד).

    תודה לעוזרים.

  11. BuildHome הגיב:

    ולמה לא להשתמש ב-new Date?
    אתה לא חייב ליצור 2 משתנים.
    אתה יכול לשים את התאריך כבר בתוך ה-new Date.
    var x=new date("01/01/2005");

  12. אוריקס הגיב:

    בולשיט
    ה Mon Nov 1 00:00:00 UTC+0200 2004 בא כי השתמשתי בפונקציה toString לא בגלל זה ש"זה לא מחזיר לי תאריך במבנה XX/XX/XX"… תנסה להפעיל על זה את שאר האובייקט של התאריך ותראה שזה עובד.

  13. Night הגיב:

    אמרתי למה..
    בגלל שזה בתוך לולאה, ואי אפשר לעשות פעמיים new date לאותו משתנה,
    הלולאה תרוץ כמה נגיד לחמש פעמים, אז אני צריך חמש משתנים (אני לא יודע כמה פעמים היא תרוץ זה דינמי)

  14. BuildHome הגיב:

    אני יודע שאמרת את זה
    ואני לא רואה אפשרות אחרת.

  15. ניר טייב הגיב:

    בטח שאפשר
    אתה יכול ליצור את המשתנה בתוך הלולאה ואז בכל סוף איטרציה הוא ימחק ( בגלל הסקופים) ולכן תוכל ליצור אותו שוב ושוב עם נתונים חדשים .
    או שאתה יוצר משתנה מחוץ ללולאה וכל פעם משנה את ערכין באמצעות dateObj.setX כאשר X זה אחד מחלקי הזמן.

  16. Night הגיב:

    צריך להציג ללקוח
    בתיבת רשימה, טווח של שבועות.
    מצורפת תמונה שמסבירה קצת..
    (תסתכלו בתמונה)

    אני רוצה שבתיבת רשימה שלי, יהיו טווחי התאריכים של כל שבוע (התאריכים שמוקפים במלבן בתמונה).
    לפי התמונה, בתיבת רשימה שלי אני רוצה שיהיה ככה(מימין לשמאל):
    26/09/2004 – 02/10/2004
    03/10/2004 – 09/10/2004
    10/10/2004 – 16/10/2004
    17/10/2004 – 23/10/2004
    24/10/2004 – 30/10/2004
    31/10/2004 – 06/11/2004

    שזה בעצם טווח התאריכים של כל השבועות, בעיקר של החודש הזה.
    ושהשבוע הנוכחי יהיה selected.

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

    בבקשה תעזרו לי,

    תודה לכולם.

  17. Night הגיב:

    למה צד שרת??
    אני רוצה לעשות את זה בJS, בלקוח. לא חבל על המאשבי שרת? (לולאות)
    אם הייתי רוצה לעשות את זה בשרת הייתי כותב בצד שרת.

  18. זהר פלד הגיב:

    לא כל כך הבנתי את השאלה…
    התמונה קצת סיבכה אותי…

  19. Night הגיב:

    בעיה עם קוד.. (1)
    הקוד אמור לעשות את מה שתיארתי לכם כמה הודעות למעלה..
    ליצור תיבת רשימה עם התאריכים של השבועות בחודש.
    האפשרויות בתיבת רשימה צריכים להיות כך(כמובן שזה צריך להתאים את עצמו לחודש):

    26/09/2004 – 02/10/2004
    03/10/2004 – 09/10/2004
    10/10/2004 – 16/10/2004
    17/10/2004 – 23/10/2004
    24/10/2004 – 30/10/2004
    31/10/2004 – 06/11/2004

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

    הקוד שלי מצורף בהודעה נפרדת (יותר מידי תווים).

שלח תשובה