Tarihleri ​​arasında Hesaplamalar (DateTimePicker - DateDiff)

Bugün visual basic rahat tarihleri ​​arasında hesaplamalar nasıl göstermek istiyorum. Net DateDiff işlevini kullanarak.

Aşağıdaki resimde gösterildiği gibi bir form, düğme, bazı etiketin ve bir DateTimePicker kontrolü gerekir:

ve düğmesinin click olayı aşağıdaki kodu olacaktır:

 txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "yıl"
 txtMeses.Text = DateDiff (DateInterval.Month, DateTimePicker1.Value, Now.Date) & "ay"
 txtSemanas.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) / 7 & "hafta"
 txtDias.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) & "gün"

Uygulamayı çalıştırdığınızda, bir geçmiş tarih seçilir ve hesapla butonuna basın. Sonuçta bu görüntüye benzer olacaktır:

Bu çok basit bir örnek, sadece bazı kod ve ekran görüntüleri bakmak ve sana şüphe olmayacak eminim, ancak herhangi bir sahip olsaydı, sadece Yorum bırakmak.

Umarım yardımcı olmuştur.

"Tarihleri ​​arasında hesaplamalar (- DateDiff DateTimePicker)" için 18 Responses

  1. Bitacoras.com diyor ki:

    Bilgi Bitacoras.com ...

    Bitacoras.com Puan Ver: Ben visual basic tarihleri ​​arasında hesaplamalar nasıl göstermek istediğinizi Bugün DateDiff işlevini kullanarak Net.. Olarak, takip eden az gösterilen bir kalıp, düğmeye, bazı etiketli? S DateTimePicker kontrolü, ... gerekir

  2. Peter diyor ki:

    Öncelikle merhaba teşekkür ederim.

    Ben bir endişe var.

    Bugün 29 Nisan 2009 olduğunu
    Ben 1980 yılının Eylül ayında doğdu

    göre
    txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "yıl"

    şimdi 29 yıl var

    ama bu o kadar değil, ben Eylül ayında son doğum günüm için 28 var

    ve kodunu değiştirmek

    teşekkürler tekrar

    • Elisha diyor ki:

      Peter, sana biraz bilgi uzatmak:

      Aralığı DateInterval.Year olarak ayarlanırsa, dönüş değeri sadece verilen iki tarih arasında yıl parça hesaplanır. Benzer şekilde, DateInterval.Month için dönüş değeri sadece yıl ve argümanlar ay taraflardan hesaplanır.

      Örneğin, gelecek yıl 1 Ocak-31 Aralık karşılaştırırken, DateDiff DateInterval.Year veya DateInterval.Month için 1 döndürür, ancak yalnızca kadar tek bir gün geçti.

      Ben tavsiye Bu gibi durumlarda, örneğin, her zaman 365 DateInterval.Day tarafından aralığı ve bölünmenin kullanmak ve böylece daha doğru bir rakam olurdu: 28.65 yıl (örneğin) ve sadece yılın istiyorsanız size dönecektir int () fonksiyonunu kullanabilirsiniz sayısı sadece bir kısmı.

  3. Alex diyor ki:

    Buna iyi bir örnek! Bilgi için teşekkürler

  4. jimmy diyor ki:

    Hey beni şimdiye kadar gerçeği iyi hizmet yazılan adama grax olarak kamera yardımcı oluyor.

  5. ignacio jose diyor ki:

    Eğer DateTimePicker biçimini ayarlamak için yazılan çok iyi arkadaş gibi GG / AA / YYYY I qa MI (Perşembe, 12 Mayıs, 1999) tarafından olsun ve gerçekten bilmiyorum

    • Elisha diyor ki:

      Joseph Merhaba:

      sizin gibi iyi olma Formatdel kontrolü değiştirmek zorunda:

      DateTimePicker1.Format = DateTimePickerFormat.Short

      Şans

  6. John F. diyor ki:

    Bir danışma belki de çok kolaydır, ama gibi görünüyor bana, datetiempicker içinde tarih görüntüleme biçimini değiştirmek olabilir: Cuma, Kasım 27, 2009, ben sadece gerekir: 27/11/2009.

    bu, sayesinde olacaktır.

  7. John F. diyor ki:

    Özür dileriz, yorum, hangi soruma cevap, önce teşekkür görmemişti.

  8. mcinpapr diyor ki:

    İyi günler ... Ben bir sorun var ... Ben vb.net 2005 yılında iki DateTimePicker kullanıyorum ve iki tarih ... işlevi ikinci "ValueChanged" de başlatıldı arasındaki fark almalıdır ben ikinci DateTimePicker bir tarih seçin zaman ... bunu çalıştırmak ama vermelidir daha Hep bir gün çıkarma ... örneğin ... Ben ilk DateTimePicker (21/12/2009) ile bugünün tarihini bırakın ve ikinci seçtiyseniz ise ertesi gün (22/12 / 2009) bana 0 değerini döndürür ... Eğer 23 döner bana 1 değerini onu seçerseniz. Aşağıdaki gibi kullanılır fonksiyonudur:

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

    Herkes lütfen ne olabilir biliyor musun?

  9. Lilimarlet diyor ki:

    merhaba, nasılsın?
    Ben FEHA sadece günü almak gibi ben, bir sorgu onları var, feha "01/01/2009" ibaresi ve bir gün gereken yere bir metin kutusu var bak.

    Bu var

    tamsayı olarak loş gün
    gün = gün (tfecha.text)

    Ben bir şey getir, ama koymayın

    As Integer Dim yıl
    yıl = yıl (tfecha.text)

    Burada yılın gösterir ama gün gereksinim

  10. Carlos h diyor ki:

    Ben dataTimerPicker ben debuelva yıl-ay-gün kemik "yyyy / aa / gg" bir tarih seçmek için yapmak gibi Afedersiniz, Mysql sorgu için ihtiyaç ve bu biçimde tarih ("yyyy / aa / gg" onları tutar ) .....

    Ben agradesco kılavuzu ... şimdiden teşekkür ederiz olabilseydim.

    • gagugu diyor ki:

      vB ps fonksiyonu ve kullanımı özel bir biçim varsa ve CustomFormat yyy / MM / dd

  11. Jennifer şöyle diyor:

    Bilgiler için çok teşekkür ederim. Bu büyük yardımı oldu.

  12. Hanner Oviedo diyor ki:

    İyi yönetim çok iyi VB değil ve ben bu olay çalışıyorum ama hata 424 yaptım biraz hit olsun, yardımına umut

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

    Teşekkür ederim.

  13. DjMiki diyor ki:

    İyi Arkadaş Elisha, kendi işlevi için teşekkürler bana hizmet, ama bir ayrıntı var, sonuç DateDiff bir negatif bana verir, sizin verdiğiniz ama eşit olduğu örneği takip, int, string gibi CInt, CStr, ve hiçbir şey onu geçmeye çalışıyorsunuz biraz yardım edin.

  14. DjMiki diyor ki:

    Peki Elisha sorun ama iyi mazur ve benim sorunu çözmek, ama sipariş parametreleri tersi, ben de tarih 1 ve tarih 2 ortalama ve sonra Date1 DATE2 olmalıdır yerleştirilir düşünüyorum.
    Peki şimdi bu sonucun karşılaştırılması ile mücadele, düzeltildi.

  15. Elkin V diyor ki:

    Hey Arkadaş Çok Faydalı Teşekkürler
    Çok kolay lol var

    Zamanın bir kalıntısı daha sonra bir şeyler bulmaya çalışıyor

    Ben büyük bir iyilik cast etmeyin!

Yorum