Számítások időpontjai között (DateTimePicker - DateDiff)

Ma szeretném bemutatni, hogyan számítások elvégzésére időpontjai között kényelmes Visual Basic. NET segítségével DateDiff funkciót.

Szüksége van egy űrlap, gomb, néhány címke és egy kontroll DateTimePicker ahogy azt az alábbi képet:

és a gomb click esemény lesz a következő kódot:

 txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "év"
 txtMeses.Text = DateDiff (DateInterval.Month, DateTimePicker1.Value, Now.Date) & "hónap"
 txtSemanas.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) / 7 & "hét"
 txtDias.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) & "nap"

Az alkalmazás futtatásához, mi kiválasztottunk egy korábbi dátumot és nyomja meg a Calculate gombot. Az eredmény hasonló lesz ezt a képet:

Ez egy nagyon egyszerű példa, csak nézd meg egy kódot és screenshotok és biztos vagyok benne, hogy nem kétségei vannak, de ha úgy döntesz, hogy bármilyen, csak hagyja el a megjegyzést.

Remélem ez segít.

18 Responses to "dátumok közötti számítások (DateTimePicker - DateDiff)"

  1. Bitacoras.com mondja:

    Információ Bitacoras.com ...

    Értékeld az Bitacoras.com: Ma szeretném bemutatni, hogyan számítások elvégzésére időpontjai között Visual Basic. NET segítségével DateDiff funkciót. Szüksége van egy űrlap, gomb, néhány label? S DateTimePicker ellenőrzés, amint a követ ...

  2. Péter azt mondja:

    Szia Először is köszönöm.

    Nekem van egy probléma.

    Ma van április 29, 2009
    Én születtem 1980 szeptemberében

    szerint
    txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "év"

    most már 29 éves

    de ez nem így van, én a 28. szülinapomra nemrég szeptemberben

    és módosítsa a kódot

    még egyszer köszönöm

    • Elizeus azt mondja:

      Peter, én egy kicsit kiterjeszteni információ:

      Ha az időköz beállítása DateInterval.Year, a visszatérési érték egyszerűen számított éves részei a két megadott időpontokban. Hasonlóképpen, a visszatérési érték DateInterval.Month egyszerűen számítható a felek az év, hónap az érveket.

      Például, ha összehasonlítjuk december 31-január 1 jövő évben visszatér DateDiff 1 DateInterval.Year vagy DateInterval.Month, de csak annyira telt el egy nap.

      Ezekben az esetekben ajánlom, például mindig a tartomány és osszuk el 365 DateInterval.Day így lenne pontosabb ábra: 28,65 év (például), és ha csak azt az év használhatja az int () függvény ad vissza csak egy része a számot.

  3. Alex azt mondja:

    Egy jó példa! Köszönet az infóért

  4. Jimmy azt mondja:

    Hé emberek, akik jó poszt szolgált nekem az igazságot eddig segíti a kamerát, ahogy grax.

  5. Ignacio jose azt mondja:

    A poszt nagyon jó barátom, mint te, hogy állítsa be a DateTimePicker formátum DD / MM / YYYY kapok a QA MI (csütörtök, május 12, 1999), és tényleg nem tudom, hogyan

    • Elizeus azt mondja:

      Helló Joseph:

      Önnek csak meg kell változtatni a tulajdonosi kontroll Formatdel is:

      DateTimePicker1.Format = DateTimePickerFormat.Short

      Szerencse

  6. John F. mondja:

    A konzultáció talán túl könnyű, de nem tudtam változtatni az megjeleníteni az időpont a datetiempicker, nekem így néz ki: péntek, november 27, 2009, egyszerűen szükségem van: 27/11/2009.

    lenne, köszönöm.

  7. John F. mondja:

    Bocs, a megjegyzés nem látott, amely választ ad a kérdésemre, köszönöm.

  8. mcinpapr mondja:

    Jó napot ... Nekem van egy probléma ... Én a 2-ben DateTimePicker vb.net 2005-ben és mikor válasszon ki egy dátumot a második DateTimePicker kell szednem a különbség a két dátum ... A funkció kezdődött a "ValueChanged" a második ... Ha fut, de én mindig elvesz egy nap alatt, mint kéne adni ... Például ... Ha elhagyom a mai dátumot az első DateTimePicker (21/12/2009) és a második választott másnap (22/12 / 2009) visszaadja nekem a 0 érték ... ha kiválaszt neki 23-án tér vissza nekem az 1 értéket. A függvény a következő:

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

    Bárki, aki tudja, mi lehet, mi történik, kérem?

  9. Lilimarlet mondja:

    hello, how are you?
    Van egy lekérdezés őket, ahogy csak tudok a nap a FEHA, nézd van egy textbox, ahol megmutatom a feha "2009/01/01" és szükségem van egy nap.

    Én ezt

    homályos egész nap
    nap = nap (tfecha.text)

    Én nem hoz semmit, de fel

    Évben As Integer Dim
    év = év (tfecha.text)

    Én évét mutatja itt, de szükségem van a nap

  10. Carlos h azt mondja:

    Elnézést, mint teszem azt a dataTimerPicker debuelva év-hónap-nap csont "yyyy / mm / dd", hogy jelöljön ki egy dátumot, szükségem van egy Mysql lekérdezés és dátumok ebben a formában tartja őket ("yyyy / mm / dd" ) .....

    Ha lehet a agradesco útmutató ... Előre is köszönöm.

    • gagugu mondja:

      BB ps ha van funkciója és használata egyedi formátumot, és CustomFormat yyy / MM / DD

  11. Jennifer azt mondja:

    Köszönöm szépen a tájékoztatást. Ez nagy segítség volt.

  12. Hanner Oviedo mondja:

    A jó vezetés nem túl jó VB és dolgozom ezt az eseményt, de én kapok 424 megüt a kis tettem, remélem a segítségedre

    Range ("I10") = DateDiff (DateInterval.Month, TextBox18.Value, Now.Date)

    Köszönöm.

  13. DjMiki mondja:

    Jó Barát Elizeus, köszönöm a funkciót szolgált engem, de van egy részlet, az eredményt ad nekem DateDiff negatív, kövesse a példát adsz, de legalább próbálja meg átadni a string, int, CInt, CStr, és semmi segítséget kérek.

  14. DjMiki mondja:

    Nos Elizeus elnézést a baj, de jó és megoldani a problémát, de azt hiszem, hogy elhelyezte a paraméterek fordítva, és úgy értem 1. időpont és dátum 2, és akkor legyen Dátum1 dátum2.
    Nos korrigált, most küzd képest ennek az eredménynek.

  15. Elkin V says:

    Hé Barát Köszönjük Nagyon hasznos
    Nagyon könnyű lol

    A maradék idő múlva próbálja megtalálni valamit

    Nem űzöm egy nagy szívességet!

Hozzászólás