ciao a tutti date due var di tipo data
data1 e data2 con data1=22/11/2001 e data2 =22/3/2004
come faccio a farmi restituire il numero di giorni che intercorrono fra data1 e data2?
come dire dim c as integer
c=data1-data2 ma nn funziona
ciao a tutti date due var di tipo data
data1 e data2 con data1=22/11/2001 e data2 =22/3/2004
come faccio a farmi restituire il numero di giorni che intercorrono fra data1 e data2?
come dire dim c as integer
c=data1-data2 ma nn funziona
ti do solo una indiicazione xkè non ho tempo di scrivere un po' di codice funzionante: cerca in msdn con DateDiff
Prova cosi:
Dim d1 As Date = "22 / 1 / 2004"
Dim d2 As Date = "22 / 4 / 2004"
Dim differenza As Integer = DateDiff(DateInterval.Day, d1, d2)
allora:
Questo codice, naturalmente NON FUNZIONA e NON DEVE FUNZIONARE. Non si può immettere in una variabile di tipo DateTime, una stringa. E se pure funzionasse, bisognerebbe preoccuparsi e mettere subito subito Option Strict On per evitare la conversione implicita.codice:Dim d1 As Date = "22 / 1 / 2004" Dim d2 As Date = "22 / 4 / 2004"![]()
In pratica usi il metodo Subtract che restituisce un oggetto TimeSpan, che rappresenta un intervallo di tempo, la cui unità di misura è rappresentato dal Tick, 100 nanosecondi. Una volta trovato l'intervallo di tempo, ne ricavi per esempio, i giorni o l'ora, come da esempio.codice:Dim d1 As DateTime = #1/15/2005 2:10:10 PM# Dim d2 As DateTime = #1/10/2005 11:10:10 AM# PrintLn(d1.Subtract(d2).Days, "giorni") '--> giorni: 5 PrintLn(d1.Subtract(d2).Hours, "ore") '--> ore: 3
COMUNQUE SONO RIUSCITI PURE A SCASSARE QUESTO FORUM, NON SI RIESCE A SCRIVERE E COMPARE SEMPRE UN ERRORE JAVASCRIPT
![]()
Pietro
codice:/// <summary> /// same common params as the VBScript DateDiff: http://msdn.microsoft.com/library/de...ctdatediff.asp /// /*Sample Code: /// * System.DateTime dt1 = new System.DateTime(1974,12,16); /// * System.DateTime dt2 = new System.DateTime(1973,12,16); /// * Page.Response.Write(Convert.ToString(DateDiff("t", dt1, dt2))); /// * */ /// </summary> /// <param name="howtocompare"></param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <returns></returns> private double DateDiff(string howtocompare, System.DateTime startDate, System.DateTime endDate) { double diff=0; try { System.TimeSpan TS = new System.TimeSpan(startDate.Ticks-endDate.Ticks); #region converstion options switch (howtocompare.ToLower()) { case "m": diff = Convert.ToDouble(TS.TotalMinutes); break; case "s": diff = Convert.ToDouble(TS.TotalSeconds); break; case "t": diff = Convert.ToDouble(TS.Ticks); break; case "mm": diff = Convert.ToDouble(TS.TotalMilliseconds); break; case "yyyy": diff = Convert.ToDouble(TS.TotalDays/365); break; case "q": diff = Convert.ToDouble((TS.TotalDays/365)/4); break; default: //d diff = Convert.ToDouble(TS.TotalDays); break; } #endregion } catch(Exception e) { diff = -1; } return diff; }