2013-12-17 11 views

Trả lời

0

Một số tính toán phải được thực hiện và sau đó,

dim ts as TimeSpan = dtpicker1.value - dtpicker.value 
dim days, months, years as integer 
months = 12*(dtp1.value.year - dtp2.value.year) (dtp1.value.month-dtp2.value.month) 

... More

5

Hãy thử điều này:

Dim date1 As Date = Date.Now 
Dim date2 As Date = date1.AddDays(4.0#) 

Dim span = date2 - date1 

Dim days As Double = span.TotalDays '=4 

Và nếu bạn muốn trích xuất các năm, hãy nhìn vào this post.

1

Sử dụng TimeSpan và một số calculaton ngày, điều này sẽ làm việc:

Dim offset = New Date(1, 1, 1) 
Dim dateOne = DateTimePicker1.Value 
Dim dateTwo = DateTimePicker2.Value 
Dim diff As TimeSpan = dateTwo - dateOne 
Dim years = (offset + diff).Year - 1 
Dim months = (dateTwo.Month - dateOne.Month) + 12 * (dateTwo.Year - dateOne.Year) 
Dim days = diff.Days 
TxtYear.Text = years.ToString 
TxtMonth.Text = months.ToString 
TxtDays.Text = days.ToString 
0

Hãy thử điều này:

txtyrs.text=datediff(DateInterval.Year,datetimepicker1,datetimepicker2).ToString() 

Giả sử rằng datetimepicker1datetimepicker2 là loại DateTime. Nếu không, bạn cần nhận giá trị DateTime tương ứng và sử dụng các giá trị đó thay thế.

0

Something như thế này nên làm việc:

Dim dateOne = DateTimePicker1.Value 
    Dim dateTwo = DateTimePicker2.Value 
    Dim diff As TimeSpan = dateTwo.Subtract(dateOne) 
    Dim years As Double = diff.TotalDays/365 
    txtyrs.Text = years.ToString 
    txtmonsh.Text = (years * 12).ToString 
    txtdays.Text = diff.TotalDays.ToString 
1

Sử dụng:

datediff(interval, date1, date2); 

Đối ví dụ: khoảng thời gian có thể là ngày, tháng, năm, giờ, phút thứ hai, vv. Nó trừ ngày1 từ ngày2.

Nhập ngày1 và ngày 2 trong Dateformat.

Format: DateDiff(DateInterval.Day, Now.Date, Now.AddDays(4).Date)

Output: 4

0
Dim D1 as Date = Now 
Dim D2 as Date = D1.AddDays(10) 
Dim difference As 
TimeSpan = D2.Subtract(D1) 
msgBox(“{0} Days”, difference.TotalDays) 'THIS WILL RETURN Total No. of Days 
0

Tôi đã sửa đổi mã của bạn để bạn có thể dễ dàng hiểu được nó.

Hãy thử điều này:

txtyrs.text = DateDiff(DateInterval.Day, datetimepicker1.value,datetimepicker2.value) 

Tôi hy vọng điều này là nó. Nếu có điều gì đó không ổn hoặc vẫn gây nhầm lẫn chỉ cần thông báo cho tôi.

0

Sử dụng datediff, bạn gọi nó với các thông số khoảng ngày khác để lấy giá trị thích hợp:

Dim D1, D2 As Date 
    D1 = Date.Now 
    D2 = #11/9/2004# 
    'DateDiff 
    Console.WriteLine("DateDiff") 
    Console.WriteLine() 
    Console.WriteLine("{0} Days", _ 
     DateDiff(DateInterval.Day, D1, D2)) 
    Console.WriteLine("{0} Hours", _ 
     DateDiff(DateInterval.Hour, D1, D2)) 
    Console.WriteLine("{0} Minutes", _ 
     DateDiff(DateInterval.Minute, D1, D2)) 
    Console.WriteLine("{0} Seconds", _ 
     DateDiff(DateInterval.Second, D1, D2)) 
    Console.WriteLine() 

Ngoài ra, một cấu trúc TimeSpan có thể được lấy ra như là kết quả của trừ đi một ngày từ khác, và sau đó truy vấn các thành viên khác nhau của cấu trúc đó.

Console.WriteLine("TimeSpan") 
    Console.WriteLine() 
    Dim difference As TimeSpan = D2.Subtract(D1) 
    Console.WriteLine("{0} Days", difference.TotalDays) 
    Console.WriteLine("{0} Hours", difference.TotalHours) 
    Console.WriteLine("{0} Minutes", difference.TotalMinutes) 
    Console.WriteLine("{0} Seconds", difference.TotalSeconds) 
    Console.WriteLine() 

Kết quả của hai phương pháp khác nhau gần giống nhau, ngoại trừ thuộc tính TimeSpan đang trả về gấp đôi, trong khi DateDiff luôn trả về Longs (Int64).

datediff

175 ngày

4222 Hours

253345 Phút

15200730 Giây

TimeSpan

175,934383644387 Ngày

4.222,42520746528 Giờ

253345,512447917 Minutes

15200730,746875 Giây

Các vấn đề liên quan