2013-12-17 3 views

risposta

0

Alcuni calcoli deve essere fatto e poi,

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) 

... Più

5

Prova questa:

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 

E se si desidera estrarre gli anni, dare un'occhiata a this post.

1

Usa TimeSpan e una data calculaton, questo dovrebbe funzionare:

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

Prova questa:

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

Supponendo che datetimepicker1 e datetimepicker2 sono di tipo DateTime. In caso contrario, è necessario ottenere i rispettivi valori DateTime e utilizzarli.

0

Qualcosa del genere dovrebbe funzionare:

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

Usa:

datediff(interval, date1, date2); 

Per esempio: intervallo può essere giorno, mese, anno, ore, secondi minuti, ecc. Sottrae data1 dalla data2.

Inserire data1 e data2 in formato data.

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

di uscita: 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

Ho modificato il codice in modo che si può facilmente capire.

Prova questa:

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

Spero che questo è vero. Se qualcosa di sbagliato o ancora confuso basta informarmi.

0

Utilizzando DateDiff, si chiamano con differenti parametri di intervallo data per recuperare il valore appropriato:

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

alternativa, una struttura TimeSpan può essere recuperato come il risultato della sottrazione una data da un altro, e quindi l'interrogazione del vari membri di quella struttura.

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

L'uscita dei due metodi differenti è quasi identico, tranne che le proprietà TimeSpan tornano Doppio, mentre DateDiff restituisce sempre Longs (Int64).

DateDiff

175 giorni

4222 Ore

253345 Minuti

15200730 secondi

TimeSpan

175.934383644387 Giorni

4222,42520746528 Ore

253345,512447917 Minuti

15200730,746875 secondi