2016-06-10 15 views
1

Ich habe ein Vb-net-Projekt, wo ich mehrere Formulare jeweils mit einem datetimepicker ausgestattet haben.dateTimePicker gibt nur das heutige Datum in Vb Express zurück

Aus irgendeinem Grund gibt mein datetimepicker in keiner Form den ausgewählten Wert zurück, sondern wählt nur das aktuelle Datum aus. Ich versuche schließlich, eine Zeichenfolge aus dem Datetimepicker im Format "YYYYMMDD" (dh 12. Januar 2016 = "20160112") mit einer privaten Funktion unten zu erhalten:

zum Beispiel wählte ich auf meinem Datetimepicker Jan 12 9 ist Jul 2016.

Private Function getdatefromdatepicker() As String 
    Dim y, m, d As String 
    y = Me.DateTimePicker.Value.Year.ToString() 
    m = Me.DateTimePicker.Value.Month.ToString() 
    d = Me.DateTimePicker.Value.Day.ToString() 
    Return y & m & d 
End Function 

mit diesem ich bin verloren, 2016. jedoch ist die Funktion y = 2016 m = 6 ist, und d = 9, wie heute berechnet. Wenn jemand herausfinden könnte, wie man das ausgewählte Datum extrahiert und das gewünschte String-Format erhält, wäre das großartig. Danke im Voraus.

+0

Seltsam ... Ich habe nur Ihren Code zu einem Test kopiert und funktioniert perfekt. By the way können Sie tun 'Return DateTimePicker.Value.ToString (" yyyyMMdd ")' – shadow

+0

Erstens, diesen Code ganz loswerden. Alles, was Sie brauchen, ist 'Me.DateTimePicker.Value.ToString (" yyyyMMdd ")'. Zweitens gibt es keinen Grund, dass Ihr Code nicht funktioniert, den ich sehen kann, so dass ich nur annehmen kann, dass er an der falschen Stelle oder zur falschen Zeit aufgerufen wird. – jmcilhinney

Antwort

1

Die DateTimePicker stellt den DateTime-Wert über die Value-Eigenschaft zur Verfügung. Sie können dann verwenden Sie Tag, Monat und Jahr, um die Werte wie folgt zu erhalten:

int day = DateTimePicker.Value.Day; 
int month = DateTimePicker.Value.Month; 
int year = DateTimePicker.Value.Year; 
Verwandte Themen