Hej hur gör jag för att konvertera ett long tal ex : 20030101 till en date med formatet 2003-01-01 Hej Ett annat sätt: HejKonvertering
MVH Torbjörn WallinSv: Konvertering
Om du är säker på att Long alltid har formatet 20030101 kan du göra så här.
Private Sub Command1_Click()
Dim LongToDate As String
LongToDate = CStr(20030101)
LongToDate = Left$(LongToDate, 4) & "-" & _
Mid$(LongToDate, 5, 2) & "-" & _
Right$(LongToDate, 2)
Label1.Caption = LongToDate
End Sub
Vill dock tipsa dig, om du vill lagra datum som Long är det bättre
att använda Dim lDate As Long
lDate = CDate("2003-01-01")
som blir 37622 för datumet ovan (antal dagar sedan 1900-01-01)
1632-11-06 blir -97573 dvs datum före 1900-01-01 får minustal
Du ändrar tillbaka med
Dim sDate As String
sDate = CDate(-97573)
Label1.Caption = sDate
/SvenSv: Konvertering
<code>
Dim lngDatum As Long
lngDatum = 20030101
Debug.Print cDate((Format$(lngDatum, "####-##-##")))
</code>
/HåkanSv: Konvertering
De var som fae.... trodde jag aldrig skulle funka.
Man blir aldrig fullärd ;-)
Klart smartare än min lösning.
Bugar
/Sven