2016-07-25 52 views
1

Ich versuche einen Weg zu finden, um automatisch berechnet Anzahl der Tage zwischen zwei Tagen.Automatische Tage zählen in vb.net

Beispiel: Wenn ich einen Eintrag lege, sagen wir ID ist 500 auf 1st July, 2016 und gespeichert. Wiederum nach 15 Tagen, d. H. Ich habe die ID 500 unter 15th July, 2016 geöffnet, sollte das Feld Wert als "15" einschließlich 15. Juli angezeigt werden. Auf die gleiche Weise, wenn ich die ID auf 20th July, 2016 öffne, sollte es "20" zeigen.

Ich versuchte mit datediff Funktion, aber es ist nicht automatisch berechnen.

Me.txtndays.Text = DateDiff(DateInterval.Day, Now, metxtdtenter.Text) 

Jede Hilfe wird wirklich geschätzt.

Vielen Dank im Voraus

+4

'ich mit DATEDIFF-Funktion versucht, aber es ist nicht automatisch calculating.' - Definieren Sie "automatisch berechnen". –

+1

Woher kommt '1. Juli 2016'? Ist es ein Wert, der zusammen mit der ID gespeichert wird? Ist das was in "Metxtdenter"? Warum ist es Text? Wenn Sie möchten, dass Daten wie Datumsangaben agieren, wird der Typ "DateTime" verwendet. – Plutonix

+1

[DateDiff] (https://msdn.microsoft.com/en-us/library/b5xbyt6f (v = vs90) .aspx) nimmt keine Zeichenfolgen als Parameter, Sie sollten mit den richtigen Daten vergleichen. –

Antwort

3

Nun gibt tatsächlich 14 Tage zwischen dem 1. Juli und 15. Juli sind.

Um dies zu berechnen Sie ein Datum aus dem anderen subtrahieren kann, welche in einem TimeSpan führen wird und dann die TotalDays wie diese finden:

Dim originalDate As Date = #2016-07-01# 'get this value from the database 
    Dim testDate As Date = #2016-07-15# 'this is the date you want to compare to. Use DateTime.Now to use the current date 
    Dim daysBetween = (testDate - originalDate).TotalDays '14 
+0

Datumsliterale müssen in unveränderlicher Kulturform sein '# 7/1/2016 #' – Plutonix

+0

@Plutonix - nicht mehr sie nicht –

+0

ist das eine VS2015-Sache? Das ist großartig. Ich dachte immer, dass Form mehr Sinn macht. – Plutonix