Astăzi, doresc să arate cum de a efectua calcule între datele confortabile în Visual Basic Net folosind funcţia DateDiff..
Aveti nevoie de un formular, buton, unele de etichetă şi un control DateTimePicker aşa cum se arată în imaginea de mai jos:

şi în cazul faceţi clic pe butonul va fi codul de mai jos:
txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) si "ani" txtMeses.Text = DateDiff (DateInterval.Month, DateTimePicker1.Value, Now.Date) si "luni" txtSemanas.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) / 7 si "săptămâni" txtDias.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) şi "zile"
rula aplicaţia, am selectat o dată trecut şi apăsaţi pe butonul Calculate. Rezultatul va fi similar cu această imagine:

Acesta este un exemplu foarte simplu, uita-te doar la un anumit cod şi capturile de ecran şi eu sunt sigur că nu vei avea îndoieli, dar dacă aţi fost de a avea orice, lasa un comentariu.
Sper că acest lucru ajută.
Bitacoras.com informaţii ...
Rata de Bitacoras.com în: Astăzi aş vrea să arate cum de a efectua calcule între datele din Visual Basic Net folosind funcţia DateDiff.. Aveti nevoie de un formular, buton, unele eticheta DateTimePicker de control S,? Cum se arată în ur ...
Buna ziua în primul rând vă mulţumesc.
Am un motiv de îngrijorare.
Astazi este 29 aprilie 2009
M-am născut în septembrie 1980
conform
txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) si "ani"
acum am 29 de ani
dar că nu este aşa, am 28 pentru ziua mea de naştere recent, în septembrie
şi modifica codul
multumesc din nou
Peter, am extinde un pic de informaţii:
Dacă intervalul este setat la DateInterval.Year, valoarea returnata este pur şi simplu calculează de la părţile an de cele două date de date. În mod similar, valoarea de returnare pentru DateInterval.Month este pur şi simplu calculează de la partidele de anul şi luna a argumentelor.
De exemplu, atunci când se compară 12/treizeci şi unu-01/un anul viitor, DateDiff returnează 1 pentru DateInterval.Year sau DateInterval.Month, ci doar ca a trecut mult o singură zi.
În aceste cazuri am recomanda, de exemplu, folosiţi întotdeauna gama şi decalajul de DateInterval.Day 365 şi astfel ar avea o cifră mai precisă: 28.65 ani (de exemplu) şi, dacă doriţi doar ani se poate utiliza int () funcţie care va reveni doar o parte din numărul.
Un exemplu bun! Multumesc pentru info
Hei, oameni buni, post-, care a servit-mi adevărul până în prezent este de a ajuta aparatul de fotografiat ca am grax.
Prietenul tau mesaj foarte bun ca tine pentru a seta formatul DateTimePicker ZZ / LL / AAAA pot obţine de QA MI (Joi doisprezece/5/1999), şi chiar nu ştiu cum
Buna ziua joseph:
trebuie doar să schimbe de control Formatdel de proprietate, precum şi:
DateTimePicker1.Format = DateTimePickerFormat.Short
Noroc
O consultare este, probabil, prea uşor, dar am putea schimba modul de afişare a datei în datetiempicker, pentru a-mi arata ca: Vineri, douăzeci şi şapte noiembrie 2009, am nevoie pur şi simplu: 27/11/2009.
care ar fi, mulţumesc.
Ne pare rău, comentariul nu a văzut înainte, care răspunde la întrebarea mea, mulţumesc.
Buna ziua ... am o problema ... eu sunt, folosind două vb.net DateTimePicker în 2005 şi atunci când selectaţi o dată în DateTimePicker două ar trebui să iau diferenţa dintre două date ... Funcţia este la început "ValueChanged" de-al doilea ... Dacă-l executaţi, dar am scade mereu o zi decât am ar trebui să dea ... de exemplu ... Daca plec de la data de astăzi DateTimePicker prima (21/12/2009) şi selectat în a doua zi (22/12 / 2009) returnează-mi o valoare de 0 ... dacă-l aleg de la 23 de mi se întoarce valoarea de 1. Funcţia folosită este după cum urmează:
TextBox1.Text = CStr (DateDiff (DateInterval.Day, DTP_ShipDate.Value, DTP_ETA.Value))
Oricine ştie ce ar putea fi ceea ce se întâmplă vă rog?
Buna ziua, ce mai faci?
Am o interogare ei, cum pot obţine doar în ziua de FEHA, uite am o caseta de text în cazul în care voi arăta feha "01/01/2009" şi am nevoie de o zi.
Am acest
zi dim ca întreg
Zi = (tfecha.text)
Eu nu aduc nimic, dar a pus
Dim ani ca integer
an = an (tfecha.text)
I arată ani aici, dar am nevoie de zile
Scuza-ma ca fac dataTimerPicker I debuelva an-lună-zi os "aaaa / ll / zz" pentru a selecta o dată, am nevoie de o interogare in MySQL şi datele în acest format le pastreaza ("aaaa / ll / zz" ) .....
Dacă aş putea fi ghidul agradesco ... Multumesc anticipat.
vB ps dacă există şi funcţia de format particularizat de utilizare, şi CustomFormat yyy / MM / dd
Vă mulţumesc foarte mult pentru informaţii. A fost de mare ajutor.
Bun management nu este foarte bun VB şi eu lucrez la acest eveniment, dar primesc eroare 424 lovit puţin am făcut, sper că de ajutorul tau
Range ("I10") = DateDiff (DateInterval.Month, TextBox18.Value, Now.Date)
Mulţumesc.
Elisei bun prieten, multumesc pentru funcţia dumneavoastră mi-a servit, dar am un detaliu, rezultatul îmi dă DateDiff este negativ, urmaţi exemplul pe care o dă, dar egal, încercaţi să-l treacă în şir, int, cint, CStr, şi nimic nu ajutor va rog.
Ei bine, Elisei scuza probleme, dar de bună şi de a rezolva problema mea, dar cred că aţi plasat parametrii de ordine sunt invers, şi mă refer la data de 1 şi data de 2, iar apoi ar trebui să fie date1 Date2.
Ei bine corectat, acum luptă cu compararea de acest rezultat.
Hei prieten vă mulţumesc foarte utile
Este foarte uşor de lol
O rămăşiţă de timp mai târziu încercând să găsească ceva
Am aruncat o mare favoare!