[VB.NET] Tijdverschil berekenen

Pagina: 1
Acties:
  • 212 views sinds 30-01-2008
  • Reageer

  • F-Tim
  • Registratie: November 2003
  • Laatst online: 08-12 14:56
Ik heb het volgende probleem, wellicht dat het heel eenvoudig is op te lossen, ik kom er echter niet uit.

Ik heb 2 variabelen welke ik beide met een eigen en aparte DateTime.Now vul. (bijvoorbeeld 13 Februari 2006 15:24:12 en 13 Februari 2006 16:28:14) Als ik de ingebouwde Compare functie gebruik, dan krijg ik alleen te zien dat die van 16:28:14 groter is dan de ander. Ik krijg echter geen verschil te zien.

Als ik Tijd 2 - Tijd 1 doe... krijg ik conversiefouten. Cannot convert datetime to XXXX (waarbij ik al Double, String, Integer geprobeerd heb. DateTime als type gaf een build error aan.)

In Delphi lukt me dit wel. In .Net echter kom ik er totaal niet wijs uit.
Op MSDN is hier ook niets over te vinden, enkel en alleen maar weer de Compare functie.
Verder zoeken op Google geeft me ook geen relevante data. Hier vind ik meer dat te maken heeft met Execution Time, en andere nutteloze dingen waar Time in voorkomt.

Wie weet hoe dit op te lossen is?

Wanna play?


Verwijderd

code:
1
Dim delta As Long = (timeWithWindow.Subtract(time)).TotalSeconds

Eerste hit op google

[ Voor 6% gewijzigd door Verwijderd op 13-02-2006 20:49 ]


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 13-12 20:16
Ik dacht altijd dat DateDiff zo'n typishe VB oplossing daarvoor was. Kan zijn dat je nog een reference moet opnemen voor Microsoft.VisualBasic.dll Anders kun je wellicht (iig C# tot zover ik weet) gebuik maken van TimeSpan

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

DateDiff? Of bestaat dat niet in VB.NET?

edit:
Spuit 11+1. :P

[ Voor 26% gewijzigd door NMe op 13-02-2006 20:50 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • F-Tim
  • Registratie: November 2003
  • Laatst online: 08-12 14:56
Thanx, ik zal het meteen proberen morgenvroeg.

offtopic:
Jeroen, vind je t prima als k je op msn toevoeg voor als k weer eens van zo'n vragen heb? ;)

Wanna play?


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

offtopic:
Sure. Al weet ik niks van VB.NET. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je moet geen datediff gebruiken. In C# bereken je het verschil als volgt ( En in VB.NET moet dat volgens mij precies hetzelfde )
C#:
1
2
3
4
5
DateTime dt1 = DateTime.Now;
DateTime dt2 = DateTIme.Now;

TimeSpan diff = dt1 - dt2;
MessageBox.Show( diff.Seconds );

DateDiff is een oude VB functie die je helemaal niet hoeft te gebruiken aangezien de - operator van DateTimge overridden is en die returnt een TimeSpan. Bij een TimeSpan kun je gewoon weer alle properties opvragen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

@rwb: Op die pagina die ik gaf doen ze het in C# idd op jouw manier, maar hetzelfde voorbeeld in VB gaat dus anders...

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Substract is in princiepe hetzelfde als de - operator. Ik weet dat je in VB.NET 1.1 geen operators kunt overloaden ( weet niet of het in 2.0 wel kan ) maar ik dacht dat je ze wel gewoon kunt gebruiken als ze in de library overloaded zijn.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Nu online
(jarig!)
Een beetje moeite doen, en even in de help kijken kan wonderen doen.
DateTime heeft een subtract method; die heeft 2 overloads. De ene neemt een DateTime als argument en trekt deze datum af van de datum waarop je de method uitvoert. Het resultaat is een Timespan.
De andere method neemt een timespan als argument, en trekt deze af van de datum. Het resultaat is een DateTime.

https://fgheysels.github.io/

Pagina: 1