הפרש בין תאריכים

ItushPita

New member
הפרש בין תאריכים

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

J u n k y

New member
אלמנטרי, ווטסון

אם date1 ו - date2 הם מסוג DateTime אתה יכול לעשות:
(date1-date2).TotalDays​
 

ItushPita

New member
לא עובד

שניהם מסוג DateTime אבל החיסור לא מניב כלום. אין אפשרות להוסיף נקודה משהו חייב לציין .Net 2003
 

thats me1

New member
פשוט:

TimeSpan ts = yourDateTime.Subtract(yourOtherDateTime); int days = ts.Days; int totalDays = ts.TotalDays;​
השאלה היא מה מתאים לך
 

ItushPita

New member
חצי עובד

עובד כל עוד מדובר באותו חודש. אם אני בוחר מה 2/10 עד ה 2/11 הוא מחזיר 25 יום... מה נראה לך?
 

ItushPita

New member
הקוד + הסברים

זה מה שאני שולח לפונקצייה this.LabelNumberDaysDue.Text=ChangeFormat(TextDueFrom.Text,TextDueTo.Text); שים לב שאני שולח טקסט עכשיו עושה קאסט private string ChangeFormat(string from, string to) { try { DateTime fromDate = Convert.ToDateTime(from); DateTime toDate = Convert.ToDateTime(to); TimeSpan ts = toDate.Subtract(fromDate); int days = ts.Days; int totalDays = Convert.ToInt32(ts.TotalDays)+1; return totalDays.ToString(); זה עובד לך אם אתה בוחר הפרש שגדול מחודש?
 

thats me1

New member
הנה הקוד שלי:

(ולהבא תשתדל ליישר את הקוד שלך לשמאל כדי שיהיה נוח לקרוא אותו)
DateTime from = new DateTime(2006, 10, 1); DateTime to = new DateTime(2006, 12, 15); TimeSpan ts = to.Subtract(from); int d = ts.Days;​
תעשה חישוב ותקבל 75 ימים שזה יותר מחודש...
 

ישי ז.

New member
שים לב לתאריכים שהזנת

הזנת מה-1 לחודש אוקטובר עד ל-15 לדצמבר - למה שזה יתן לך חודש ? זה חודשיים וחצי, תכפיל ב-30 יום (בהתעלם מחודש מלא וחסר, וכן מ-עד ועד בכלל) תקבל 75, אז מה הבעיה ? אולי במקום להזין ערכי משתנה שנת CONST ?
 
מה זה הקוד הזוועתי הזה../images/Emo35.gif../images/Emo5.gif

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