webForumDet fria alternativet

DateTime till integer

11 svar · 348 visningar · startad av clarkbones

clarkbonesMedlem sedan feb. 20013 023 inlägg
#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å?

VimpMedlem sedan juli 20022 537 inlägg
#2

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

m_soderlundMedlem sedan sep. 20026 425 inlägg
#3

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

clarkbonesMedlem 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#

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

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

m_soderlundMedlem sedan sep. 20026 425 inlägg
#7

Det är då man använder DateAdd.

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

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

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

WalkerMedlem 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

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