Hallå!
Går det inte att konvertera ett datum till integer eller decimal i VB.NET?
Jag tor mig i o f kunna lösa problemet på ett annat sätt, men rent teoretiskt borde det ju inte vara några problem
Felmeddelande då jag använder Convert.ToDecimal
Invalid cast from DateTime to Decimal.
Använder jag ctype blir det följande:
Cast from type 'Date' to type 'Decimal' is not valid.
Någon som kan förklara varför det är så?
VimpMedlem sedan juli 20022 537 inlägg Förmodligen för att det innehåller : samt -.
Varför ska du konvertera ett datum till ett tal, clarkbones?
Vimp skrev:
Förmodligen för att det innehåller : samt -.
Nja, det gör inte mitt korrekt angivna datum.
#1/2/2003#
# är ganska svårt att konvertera till ett tal, och även multipla / skulle jag tro (har inte testat med multipla /, ett / skulle nog tolkas som att det var ett bråk som var talet i så fall). Återigen: varför konvertera ett datum till ett tal?
m_soderlund skrev:
Varför ska du konvertera ett datum till ett tal, clarkbones?
Tja, jag skulle slumpa fram en ökning av datumet. Som jag sa kan jag komma runt det. T ex med DateAdd.
Men frågan var alltså varför det inte går. Borde finnas något tillfälle då det kan vara användbart...
Det är då man använder DateAdd.
m_soderlund skrev:
# är ganska svårt att konvertera till ett tal, och även multipla / skulle jag tro (har inte testat med multipla /, ett / skulle nog tolkas som att det var ett bråk som var talet i så fall). Återigen: varför konvertera ett datum till ett tal?
Det finns inga generella problem med det. Excel hanterar detta utan problem (vet ej hur det fungerar bakom kulisserna) men man kan t ex skriva in ett datum som 2003-12-01 och välja att få fram det som ett heltal.
PMedlem sedan jan. 20012 204 inlägg Konvertera det till en string och sedan dela upp det med substring/split, och sedan konvertera det till en integer och lägga på den slumpade tiden...
P skrev:
Konvertera det till en string och sedan dela upp det med substring/split, och sedan konvertera det till en integer och lägga på den slumpade tiden...
Tack, men just nu är frågan inte hur jag skall lösa problemet utan mer om Microsoft tog bort konverteringsmöjligheten för att det inte finns några situationer där detta kan vara nödvändigt.
WalkerMedlem sedan okt. 2002188 inlägg Re: DateTime till integer
clarkbones skrev:
Hallå!
Går det inte att konvertera ett datum till integer eller decimal i VB.NET?
Hej
Fungerar det inte att använda Ticks..
DateTime.Ticks
NöffMedlem sedan nov. 2003569 inlägg
clarkbones
Felmeddelande då jag använder Convert.ToDecimal
Invalid cast from DateTime to Decimal.
Convert.ToDecimal herrejesus :OO
Ska du få ett integer värde av ett datum får du använda ett helt annat sätt att beskriva ett datum på och de kallas "FileTime" eller "OADate" datumformaten
System.Int64 filetimedatum=DateTime.Now.ToFileTime();
Response.Write(DateTime.FromFileTime(filetimedatum));
System.Double OAdatum=DateTime.Now.ToOADate();
Response.Write(DateTime.FromOADate(OAdatum));