Tính toán giữa các ngày (DateTimePicker - DateDiff)

Hôm nay tôi muốn hiển thị như thế nào để thực hiện các tính toán giữa các ngày thoải mái trong hình ảnh cơ bản Net bằng cách sử dụng chức năng DateDiff.

Cần một mẫu đơn, nút, một số nhãn và một điều khiển DateTimePicker như trong hình dưới đây:

và trong sự kiện click nút mã sau đây:

 txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "năm"
 txtMeses.Text = DateDiff (DateInterval.Month, DateTimePicker1.Value, Now.Date) & "tháng"
 txtSemanas.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) / 7 "tuần"
 txtDias.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) & "ngày"

chạy ứng dụng, chúng ta chọn một ngày trong quá khứ và nhấn nút tính toán. Kết quả sẽ là tương tự như hình ảnh này:

Đây là một ví dụ rất đơn giản, chỉ cần nhìn vào một số mã và ảnh chụp màn hình và tôi chắc chắn bạn sẽ không có nghi ngờ, nhưng nếu bạn có bất kỳ, chỉ cần để lại bình luận của bạn.

Hy vọng điều này sẽ giúp.

18 Responses to "tính toán giữa ngày (DateTimePicker - DateDiff)"

  1. Thông tin Bitacoras.com ...

    Tỷ giá trong Bitacoras.com: Hôm nay tôi muốn hiển thị như thế nào để thực hiện các tính toán giữa các ngày trong hình ảnh cơ bản Net bằng cách sử dụng chức năng DateDiff. Cần một mẫu đơn, nút, nhãn một số kiểm soát DateTimePicker S, như thể hiện trong các fol ...

  2. Peter nói:

    Trước hết cảm ơn bạn.

    Tôi có một mối quan tâm.

    Hôm nay là ngày 29 tháng 4 năm 2009
    Tôi sinh ra trong tháng 9 năm 1980

    theo
    txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "năm"

    bây giờ tôi có 29 năm

    nhưng đó không phải là như vậy, tôi có 28 sinh nhật của tôi gần đây trong tháng Chín

    và thay đổi mã

    nhờ một lần nữa

    • Elisha nói:

      Peter, tôi gia hạn cho bạn một ít thông tin:

      Nếu Interval được thiết lập để DateInterval.Year, giá trị trả lại chỉ đơn giản là tính từ năm các bộ phận của hai ngày. Tương tự như vậy, giá trị trả cho DateInterval.Month được chỉ đơn giản là tính toán từ các bên của năm và tháng của các đối số.

      Ví dụ, khi so sánh 31 tháng mười hai - 1 tháng 1 năm tới, DateDiff trả về 1 cho DateInterval.Year hoặc DateInterval.Month, nhưng chỉ càng nhiều đã thông qua một ngày.

      Trong những trường hợp tôi khuyên bạn nên, ví dụ, luôn luôn sử dụng các phạm vi và phân chia DateInterval.Day 365 và như vậy sẽ có 1 con số chính xác hơn: 28,65 năm (ví dụ) và nếu bạn chỉ muốn năm bạn có thể sử dụng các int () chức năng đó sẽ trở lại chỉ là một phần của số.

  3. Alex nói:

    Một ví dụ điển hình! Để biết

  4. jimmy nói:

    Bài người đàn ông đã từng phục vụ cho tôi sự thật cho đến nay đang giúp các máy ảnh như tôi grax.

  5. Ignacio jose nói:

    bài người bạn rất tốt của bạn như bạn thiết lập các định dạng DateTimePicker DD / MM / YYYY tôi nhận được bởi qa MI (Thứ Năm 12 Tháng 5, năm 1999) và thực sự không biết làm thế nào

    • Elisha nói:

      Xin chào joseph:

      bạn chỉ cần có để thay đổi kiểm soát Formatdel quyền sở hữu:

      DateTimePicker1.Format = DateTimePickerFormat.Short

      Luck

  6. John F. nói:

    Tham khảo ý kiến ​​có lẽ là quá dễ dàng, nhưng tôi có thể thay đổi cách hiển thị ngày trong datetiempicker các, tôi trông giống như: Thứ Sáu 27 Tháng Mười Một, năm 2009, tôi cần chỉ đơn giản là: 27/11/2009.

    mà có thể, nhờ.

  7. John F. nói:

    Xin lỗi, bình luận đã không được thấy trước, trả lời câu hỏi của tôi, nhờ.

  8. mcinpapr nói:

    Chào buổi chiều ... Tôi có một vấn đề ... Tôi đang sử dụng hai DateTimePicker trong vb.net 2005 và khi tôi chọn một ngày trong DateTimePicker thứ hai, tôi nên sự khác biệt giữa hai ngày ... Chức năng này được bắt đầu tại "ValueChanged" thứ hai ... Nếu bạn chạy nó, nhưng tôi luôn luôn trừ đi một ngày so với tôi nên cho ... ví dụ ... Nếu tôi để lại ngày hôm nay để DateTimePicker đầu tiên (21/12/2009) và được lựa chọn trong lần thứ hai vào ngày hôm sau (22/12 / 2009) trả về một giá trị 0 ... nếu bạn chọn anh ta trên 23 trở về giá trị của 1. Các chức năng được sử dụng như sau:

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

    Bất cứ ai biết những gì có thể là những gì xảy ra xin vui lòng?

  9. Lilimarlet nói:

    hello, how are you?
    Tôi có một truy vấn, như tôi có thể nhận được chỉ là ngày của FEHA, nhìn tôi có một hộp văn bản mà tôi cho thấy feha "2009/01/01" và tôi cần một ngày.

    Tôi có điều này

    ngày mờ như số nguyên
    ngày = ngày (tfecha.text)

    Tôi không mang lại bất cứ điều gì, nhưng đặt

    Dim năm As Integer
    năm = năm (tfecha.text)

    I cho thấy năm ở đây nhưng tôi cần ngày

  10. Carlos h nói:

    Xin lỗi tôi như là tôi làm cho dataTimerPicker tôi debuelva năm-tháng-ngày xương "yyyy / mm / dd" để chọn một ngày, tôi cần cho một truy vấn Mysql và ngày tháng ở định dạng này giúp họ ("yyyy / mm / dd" ) .....

    Nếu tôi có thể agradesco dẫn ... Cảm ơn trước.

  11. Jennifer nói:

    Cảm ơn bạn rất nhiều thông tin. Đó là một trợ giúp lớn.

  12. hanner Oviedo nói:

    Quản lý tốt không phải là rất tốt VB và tôi đang làm việc sự kiện này nhưng tôi nhận được lỗi 424 hit nhỏ tôi đã làm, tôi hy vọng sự giúp đỡ của bạn

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

    Cảm ơn bạn.

  13. DjMiki nói:

    Tốt bạn bè Elisha, nhờ chức năng của bạn phục vụ tôi, nhưng một chi tiết, kết quả cho tôi DateDiff các tiêu cực, theo các ví dụ bạn được đưa ra nhưng bằng, cố gắng để vượt qua nó như là một chuỗi, int, CInt, CStr, và không có gì một số trợ giúp.

  14. DjMiki nói:

    Vâng Elisha tha thứ cho những rắc rối, nhưng tốt và giải quyết vấn đề của tôi, nhưng tôi nghĩ rằng bạn đặt các thông số thứ tự theo chiều ngược lại, và tôi có nghĩa là ngày 1 và ngày 2, và sau đó là Date1 Date2.
    Cũng sửa chữa, đấu tranh với so sánh kết quả này.

  15. Elkin V nói:

    Hey bạn bè Rất hữu ích
    Nó rất dễ dàng lol

    Còn sót lại của thời gian sau đó cố gắng để tìm thấy một cái gì đó

    Tôi bỏ một ân huệ lớn!

Bình luận