2013-12-17 7 views

Odpowiedz

0

Niektóre obliczenia muszą być wykonane, a następnie

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) 

... Więcej

5

Spróbuj tego:

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 

A jeśli chcesz, aby wyodrębnić roku, spojrzeć na this post.

1

Zastosowanie TimeSpan a niektóre data calculaton, to powinno działać:

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

Spróbuj tego:

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

Zakładając, że datetimepicker1 i datetimepicker2 są typu DateTime. Jeśli nie, musisz uzyskać odpowiednie wartości DateTime i użyć ich zamiast tego.

0

Coś jak to powinno działać:

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

Zastosowanie:

datediff(interval, date1, date2); 

Dla przykład: interwał może być dniem, miesiącem, rokiem, godzinami, sekundami, itd. Odejmuje date1 od date2.

Wprowadź date1 i date2 w Dateformat.

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

wyjściowa: 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

Mam zmodyfikowany kod, dzięki czemu można łatwo zrozumieć.

Spróbuj tego:

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

Mam nadzieję, że to jest to. Jeśli coś nie tak lub nadal mylące, po prostu mnie poinformuj.

0

Korzystanie DateDiff, nazywasz go z różnymi parametrami interwałowych data pobrać odpowiednią wartość:

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() 

Alternatywnie, struktura TimeSpan może zostać odzyskane w wyniku odjęcia jedną datę od drugiej, a następnie odpytywanie różnych członków tej struktury.

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() 

Wyjście z dwóch różnych metod jest prawie identyczne, z tym, że właściwości zakresu czasu wraca dwu, podczas DateDiff zawsze zwraca long (Int64).

DateDiff

175 Dni

4222 Godziny

253345 Minut

15200730 sekund

Okres

175.934383644387 Dni

4222,42520746528 Godziny

253345,512447917 Minutes

15200730,746875 sekund