webForumDet fria alternativet

DateTime till integer

.NETur .NET

11 svar · 348 visningar · startad av clarkbones

Medlem sedan feb. 20013 023 inlägg
Frågan#1

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å?

Medlem sedan juli 20022 537 inlägg
#2

Förmodligen för att det innehåller : samt -.

Medlem sedan sep. 20026 425 inlägg
#3

Varför ska du konvertera ett datum till ett tal, clarkbones?

Medlem sedan feb. 20013 023 inlägg
#4

Vimp skrev:

Förmodligen för att det innehåller : samt -.

Nja, det gör inte mitt korrekt angivna datum.
#1/2/2003#

Medlem sedan sep. 20026 425 inlägg
#5

# ä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?

Medlem sedan feb. 20013 023 inlägg
#6

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...

Medlem sedan sep. 20026 425 inlägg
#7

Det är då man använder DateAdd.

Medlem sedan feb. 20013 023 inlägg
#8

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.

Medlem sedan jan. 20012 204 inlägg
#9

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...

Medlem sedan feb. 20013 023 inlägg
#10

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.

Medlem sedan okt. 2002188 inlägg
#11

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

Medlem sedan nov. 2003569 inlägg
#12

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));
140 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)