חישובים בין התאריכים (DateTimePicker - DateDiff)

היום אני רוצה להראות כיצד לבצע חישובים בין תאריכים נוחים ב-Visual Basic. נטו באמצעות הפונקציה DateDiff.

זקוק צורה, לחצן, כמה תווית של ושלט DateTimePicker כפי שמוצג בתמונה שלהלן:

ובמקרה לחץ על כפתור יהיה את הקוד הבא:

 txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "שנים"
 txtMeses.Text = DateDiff (DateInterval.Month, DateTimePicker1.Value, Now.Date) & "חודשים"
 txtSemanas.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) / 7 & "שבועות"
 txtDias.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) & "ימים"

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

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

מקווה שזה עוזר.

18 תגובות ל "חישובים בין התאריכים (DateTimePicker - DateDiff)"

  1. Bitacoras.com אומר:

    מידע Bitacoras.com ...

    דרג ב Bitacoras.com: היום אני רוצה להראות כיצד לבצע חישובים בין התאריכים-Visual Basic נטו באמצעות הפונקציה DateDiff.. זקוק צורה, לחצן, תווית כלשהי? השליטה S DateTimePicker, כפי שניתן לראות fol ...

  2. פיטר אומר:

    שלום קודם כל תודה.

    יש לי חשש.

    היום הוא 29 אפריל 2009
    נולדתי ספטמבר 1980

    על פי
    txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "שנים"

    עכשיו יש לי 29 שנים

    אבל זה לא כך, יש לי 28 ליום ההולדת שלי לאחרונה בספטמבר

    ולשנות את הקוד

    שוב תודה

    • אלישע אומר:

      פיטר, אני מושיט לך מעט מידע:

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

      לדוגמה, כאשר משווים 31 דצמבר - 1 ינואר בשנה הבאה, DateDiff מחזירה 1 עבור DateInterval.Year או DateInterval.Month, אבל רק כמה עבר אפילו יום אחד.

      באותם מקרים אני ממליץ, למשל, להשתמש תמיד טווח הפער ידי DateInterval.Day 365 וכך היה דמות מדויקת יותר: 28.65 שנים (למשל), ואם אתה רק רוצה את השנה ניתן להשתמש int () function כי יחזיר רק חלק מספר.

  3. אלכס אומר:

    דוגמה טובה! תודה על מידע

  4. ג'ימי אומר:

    היי אנשים הודעה טובים ששירתו לי את האמת עד כה עוזר המצלמה grax אני.

  5. חוזה איגנסיו אומר:

    חבר טוב שלך פוסט כמוך כדי להגדיר את תבנית DateTimePicker DD / MM / YYYY אני מקבל על ידי MI-QA (יום חמישי, 12 מאי, 1999) ואת באמת לא יודע איך

    • אלישע אומר:

      שלום יוסף:

      אתה רק צריך לשנות את השליטה Formatdel הבעלות גם:

      DateTimePicker1.Format = DateTimePickerFormat.Short

      מזל

  6. ג'ון פ 'אומר:

    ייעוץ הוא אולי קל מדי, אבל אני יכול לשנות את דרך להציג את התאריך datetiempicker, לי נראה כך: יום שישי 27 נובמבר, 2009, אני צריך פשוט: 27/11/2009.

    זה יהיה, תודה.

  7. ג'ון פ 'אומר:

    מצטערים, ההערה לא ראה קודם לכן, אשר עונה על השאלה שלי, תודה.

  8. mcinpapr אומר:

    שלום ... יש לי בעיה ... אני משתמש ב 2 DateTimePicker ב vb.net 2005 וכשאני בחר תאריך DateTimePicker 2 כדאי לי לעבור את ההפרש בין שני תאריכים ... הפונקציה אשר נכתבו על "ValueChanged" 2 ... אם אתה מפעיל את זה אבל אני תמיד להחסיר יום אחד ממה שאני צריך לתת ... למשל ... אם אני משאיר את התאריך של היום כדי DateTimePicker 1 (21/12/2009) ו שנבחרה 2 למחרת (22/12 / 2009) תחזיר לי את הערך 0 ... אם אתה בוחר אותו על 23 מחזיר לי את הערך 1. הפונקציה בשימוש הוא כדלקמן:

    TextBox1.Text = CStr (DateDiff (DateInterval.Day, DTP_ShipDate.Value, DTP_ETA.Value))

    מישהו יודע מה יכול להיות מה קורה בבקשה?

  9. Lilimarlet אומר:

    שלום, מה שלומך?
    יש לי שאילתה אותם, כפי שאני יכול לקבל רק את יום FEHA, נראה לי הטקסט שבו אני מראה feha "2009/01/01" ואני צריך יום אחד.

    יש לי

    יום עמום כמספר שלם
    יום = יום (tfecha.text)

    אני לא להביא כלום, אבל את

    בשנה דים כמספר שלם
    שנה = השנה (tfecha.text)

    אני מציג את השנה כאן, אבל אני צריך היום

  10. קרלוס אומר ש:

    סלח לי אני עושה dataTimerPicker אני debuelva בן חודש ימים העצם "yyyy / mm / dd" כדי לבחור תאריך, אני צריך עבור שאילתה ב MySQL ו התאריכים פורמט זה שומר אותם ("yyyy / mm / dd" ) .....

    אם הייתי יכול להיות מדריך agradesco ... תודה מראש.

  11. ג'ניפר אומרת:

    תודה רבה לך על המידע. זה היה לעזר רב.

  12. hanner אוביידו אומר:

    ניהול טוב אינו VB טוב מאוד, אני עובד את האירוע הזה, אבל אני מקבל שגיאה 424 מכה קטנה שעשיתי, אני מקווה לעזרתך

    טווח ("I10") = DateDiff (DateInterval.Month, TextBox18.Value, Now.Date)

    תודה.

  13. DjMiki אומר:

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

  14. DjMiki אומר:

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

  15. אלקין V אומר:

    היי חבר תודה מאוד שימושיות
    זה קל מאוד חחח

    שריד לימים מנסה למצוא משהו

    ניתן להטיל טובה גדולה!

הערה