[ASP.NET] Rekenen met datatimes

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Sibert
  • Registratie: Juni 2009
  • Laatst online: 05-08 14:27
Hallo,

Ik ben bezig met een website in ASP.NET (met C#.NET, geen VB.NET). Ik zou graag het volgende weten:
Hoe reken je met datatimes, om bijvoorbeeld het verschil van aantal jaar te weten te komen?
Vb.: Je geeft volgende datum in: 01/01/2001 en je wil weten hoeveel jaar geleden dat was (en eventueel nauwkeuriger, hoeveel jaar en dagen), je komt dus uit: 8 jaar geleden.

Alvast bedankt.
Mvg

[ Voor 7% gewijzigd door Sibert op 18-09-2009 20:31 ]


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 17-09 22:12
Je kunt gewoon 2 DateTime's van elkaar aftrekken. Je krijgt dan een TimeSpan object terug waarin dat precies het verschil staat.

In de .NET documentatie op de MSDN staat hiervan wel een mooi voorbeeld: DateTime.Subtract

Acties:
  • 0 Henk 'm!

  • Sibert
  • Registratie: Juni 2009
  • Laatst online: 05-08 14:27
dankje, het is me gelukt :)
Ik heb nu dit:
5237.20:35:19.8665283

Ik weet dat 5237 het aantal dagen is, het lijkt me dat 20:35:19 het aantal uren minuten en seconden zijn. Dat laatste deel heb ik geen flauw benul van.
Btw, kan er op 1 of andere manier berekend worden hoeveel jaar (en evt. dagen) 5237 dagen zijn?

Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Je kunt toch gewoon twee DateTime objecten van elkaar aftrekken en dan heeft het DateTime object dat je terugkrijgt volgens mij gewoon eigenschappen als Years e.d.

Acties:
  • 0 Henk 'm!

  • Sibert
  • Registratie: Juni 2009
  • Laatst online: 05-08 14:27
ik heb nu dit voor de datetimes:
C#:
1
2
        DateTime birth = new DateTime(1995, 05, 18, 0,0,0);
        TimeSpan diff =DateTime.Now-birth;

dat komt uit:
5237.20:35:19.8665283

Acties:
  • 0 Henk 'm!

  • Ahrnuld
  • Registratie: April 2002
  • Laatst online: 17-09 07:28
diff.Years? Sowieso kan je datetime.Year - datetime.Year doen trouwens.

Niets...


Acties:
  • 0 Henk 'm!

  • Sibert
  • Registratie: Juni 2009
  • Laatst online: 05-08 14:27
Het is gelukt. Dankje wel allemaal :)

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 15:30
Sibert schreef op vrijdag 18 september 2009 @ 20:45:
dankje, het is me gelukt :)
Ik heb nu dit:
5237.20:35:19.8665283

Ik weet dat 5237 het aantal dagen is, het lijkt me dat 20:35:19 het aantal uren minuten en seconden zijn. Dat laatste deel heb ik geen flauw benul van.
Btw, kan er op 1 of andere manier berekend worden hoeveel jaar (en evt. dagen) 5237 dagen zijn?
is dat niet 5237 dagen, 20 uren, 35 minuten, 19 seconden en 8665283 milliseconden ?

Acties:
  • 0 Henk 'm!

  • Koppensneller
  • Registratie: April 2002
  • Laatst online: 17-09 22:56

Koppensneller

winterrrrrr

Caelorum schreef op vrijdag 18 september 2009 @ 21:24:
[...]

is dat niet 5237 dagen, 20 uren, 35 minuten, 19 seconden en 8665283 milliseconden ?
Dat lijkt me niet, aangezien 1000 milliseconden weer 1 seconde is ;)

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

starwave schreef op vrijdag 18 september 2009 @ 20:58:
diff.Years? Sowieso kan je datetime.Year - datetime.Year doen trouwens.
Nu wel ja, maar had de geboortedatum in december gelegen, dan had het aantal jaren niet geklopt. Als je het aantal jaren tussen twee datums wilt weten moet je zo precies mogelijk blijven.

Ik ben nu immers 32 jaar, maar over een maand ben ik 33. Maar mijn geboortejaar 1976 en het huidige jaar 2009 zijn niet veranderd. diff.Years zal correct 32 terug geven, maar jouw methode (2009 - 1976) zal 33 retouneren wat dus foutief is..

If it isn't broken, fix it until it is..


  • Caelorum
  • Registratie: April 2005
  • Laatst online: 15:30
KoppenSneller schreef op vrijdag 18 september 2009 @ 21:28:
[...]Dat lijkt me niet, aangezien 1000 milliseconden weer 1 seconde is ;)
lol :o

  • doctormetal
  • Registratie: Februari 2006
  • Laatst online: 13:31
Caelorum schreef op vrijdag 18 september 2009 @ 21:24:
[...]

is dat niet 5237 dagen, 20 uren, 35 minuten, 19 seconden en 8665283 milliseconden ?
nee. Het is precies wat er staat: 19.8665283 seconden. Oftewel 19 seconden en 867 ms.

  • Sibert
  • Registratie: Juni 2009
  • Laatst online: 05-08 14:27
Ik heb nog een vraag (heeft eigenlijk niks te maken met het onderwerp, maar ik zag het niet zitten om een 2de topic aan te maken)
Ik heb laatst m'n C:\ opgeruimd, en daar stonden enkele files van een website. Ik kan er nu nog aan, maar de *.aspx.cs zijn weg. Ik kan de code dus niet meer editen, is hier een oplossing voor? De code die ik daar gad geschreven wordt vreemdgenoeg, wel nog uitgevoerd.
Alvast bedankt
Mvg

  • Sibert
  • Registratie: Juni 2009
  • Laatst online: 05-08 14:27
Sibert schreef op zaterdag 19 september 2009 @ 15:02:
Ik heb nog een vraag (heeft eigenlijk niks te maken met het onderwerp, maar ik zag het niet zitten om een 2de topic aan te maken)
Ik heb laatst m'n C:\ opgeruimd, en daar stonden enkele files van een website. Ik kan er nu nog aan, maar de *.aspx.cs zijn weg. Ik kan de code dus niet meer editen, is hier een oplossing voor? De code die ik daar gad geschreven wordt vreemdgenoeg, wel nog uitgevoerd.
Alvast bedankt
Mvg
Laat maar zitten, opgelost!
Pagina: 1