2009-08-25 5 views
0

Jetzt 2008.Wie gebe ich das dtpicker date - 1?

VB6-Code

sdate = DateToString(dtpicker1 - 1) 
edate = DateToString(dtpicker2) 

Above Code funktioniert gut mit VS 2008

Bevor ich verwendet VB 6, jetzt ich VB Upgrade.

Nach dem VB 2008

sdate = DateToString(dtpicker1._Value) 
edate = DateToString(dtpicker2._Value) 

Upgraded Wenn ich

Put
sdate = DateToString(dtpicker1._Value - 1) 

Es Fehler angezeigt wird.

Wie kann ich einen Code wie dtpicker1 schreiben - 1

VB-Code Hilfe brauchen.

+0

ich eine Funktion, die Sie selbst definiert haben DateToString? Dann möchten Sie möglicherweise den Inhalt davon ändern, um verbesserte .NET-Datumsfunktionen zu verwenden. 'Date.ToShortDateString()' gibt es in dem Format zurück, das durch das kurze Datumsformat in regionalen Einstellungen festgelegt wurde. – awe

Antwort

1

Der Wert ist vom Typ Object. Das liegt daran, dass der Wert eines Datumsspeichers entweder ein gültiges Datum oder leer sein kann. So benötigen Sie:

If IsDate(dtpicker1._Value) Then 
    sdate = CDate(dtpicker1._Value).AddDays(-1).ToShortDateString() 
End If 

Wenn der Wert leer ist, ist es tatsächlich eine Art von System.DBNull hat, was bedeutet, dass auf Zeichenfolge für die Konvertierung, zwei Funktionen mit identischen Namen definieren kann, aber verschiedene Parametertypen:

Public Function DateToString(ByVal _date As Date) As String 
    Return _date.ToShortDateString() 
End Function 

Public Function DateToString(ByVal _date As DBNull) As String 
    Return "No date selected!" 
End Function 

anschließend können Sie Ihre vorherigen Code zu diesem ändern:

Dim theDate As Object 
theDate = dtpicker1._Value 
If IsDate(theDate) Then 
    theDate = CDate(theDate).AddDays(-1) 
End If 
sdate = DateToString(theDate) 
0

Ich nehme an, Sie versuchen, einen Tag von dtpicker1 Wert zu subtrahieren? Wenn ja, dies zu tun:

sdate = DateToString(dtpicker1._Value.AddDays(-1)) 
+0

Wenn ich dtpicker1.value (Nach. Drücken Sie nichts anzeigen), wenn ich .addday (-1) .tostring eingeben. Es zeigt Fehler – Gopal

+0

Welche Art von Objekt ist dtpicker? Und was ist der Fehler? –

0

Bit unsicher, was Sie zu tun versuchen, aber für die folgende Lösung Ich gehe davon aus, dass mit -1 Sie sagen, dass Sie den Tag vor dem Tag erhalten möchten. Wenn so dann

dtpicker1._Value.AddDays(-1).ToString 

Hinzu kommt, dass, wenn Sie die Zeichenfolge zu formatieren, das herauskommt, können Sie durch die Verwendung eines Formatstring wie

dtpicker1._Value.AddDays(-1).ToString("dd/MM/yyyy") 

, die gedruckt wird das Datum tun, aus wie "20/08/2009".

+0

Wenn ich dtpicker1.value drücke (Nach. Drücken Sie nichts anzeigen), wenn ich .addday (-1) .tostring. Es zeigt Fehler – Gopal

+0

Was ist der Fehler? – link664

Verwandte Themen