2013-12-17 9 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

Powiązane problemy