Quelqu'un peut-il m'aider s'il vous plaît pour faire ce travail?Calcul du temps entre deux dates?
Je veux calculer le temps entre deux dates en VB.NET comme ceci:
startdate: 2011/12/30
enddate: 2011/12/31
Calculer: heure? minute? secondes
Quelqu'un peut-il m'aider s'il vous plaît pour faire ce travail?Calcul du temps entre deux dates?
Je veux calculer le temps entre deux dates en VB.NET comme ceci:
startdate: 2011/12/30
enddate: 2011/12/31
Calculer: heure? minute? secondes
Vous pouvez essayer cette
DateTime startTime = DateTime.Now;
DateTime endTime = DateTime.Now.AddSeconds(75);
TimeSpan span = endTime.Subtract (startTime);
Console.WriteLine("Time Difference (seconds): " + span.Seconds);
Console.WriteLine("Time Difference (minutes): " + span.Minutes);
Console.WriteLine("Time Difference (hours): " + span.Hours);
Console.WriteLine("Time Difference (days): " + span.Days);
sortie Comme,
Time Difference (seconds): 15
Time Difference (minutes): 1
Time Difference (hours): 0
Time Difference (days): 0
Et l'équivalent VB.Net à ce qui précède:
Dim startTime As DateTime = DateTime.Now
Dim endTime As DateTime = DateTime.Now.AddSeconds(75)
Dim span As TimeSpan = endTime.Subtract(startTime)
Console.WriteLine("Time Difference (seconds): " + span.Seconds)
Console.WriteLine("Time Difference (minutes): " + span.Minutes)
Console.WriteLine("Time Difference (hours): " + span.Hours)
Console.WriteLine("Time Difference (days): " + span.Days)
Lorsque vous soustrayez 2 DateTime
s, vous obtenez une struct TimeSpan
qui a toutes ces propriétés pour vous.
Sur la base de la question, le calcul du temps entre deux dates, il est préférable d'utiliser DateDiff. Sur exemple ci-dessous, on peut aussi remplacer l'heure avec la minute, seconde, mois, etc .:
Dim timeDif As Long = DateDiff(DateInterval.Hour, startDate, endDate)
L'utilisation TimeSpan renvoie la différence de temps exclu du cycle quotidien, voir ci-dessous le code:
Dim startDate As Date = Date.Now
Dim endDate As Date = startDate.AddDays(3) 'add 3 days to startDate
Dim timeSpan As TimeSpan = endDate.Subtract(startDate)
Dim difDays As Integer = timeSpan.Days 'get 3 days
Dim difHr As Integer = timeSpan.Hours 'get 0 hours although 3 days difference
Dim difMin As Integer = timeSpan.Minutes 'get 0 minutes although 3 days difference
Good One .. Merci beaucoup ... –
Pour toute personne utilisant ceci, gardez à l'esprit que span.Seconds ne retournera pas la différence de temps totale en secondes, mais plutôt la différence dans les composants secondes (jusqu'à 59 max). Pour retourner la différence totale, utilisez span.TotalSeconds, span.TotalMinutes, etc. – http203
Ce n'est pas du code VB.net, c'est du C#. – cybermonkey