¿Alguien puede ayudarme a hacer esto?¿Calcula el tiempo entre dos fechas?
Quiero calcular el tiempo entre dos fechas en VB.NET así:
startdate: 2011/12/30
enddate: 2011/12/31
Calcular:? hora? minuto? segundos
¿Alguien puede ayudarme a hacer esto?¿Calcula el tiempo entre dos fechas?
Quiero calcular el tiempo entre dos fechas en VB.NET así:
startdate: 2011/12/30
enddate: 2011/12/31
Calcular:? hora? minuto? segundos
puede probar esta
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);
salida como,
Time Difference (seconds): 15
Time Difference (minutes): 1
Time Difference (hours): 0
Time Difference (days): 0
y el equivalente VB.Net a lo anterior:
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)
Al restar 2 DateTime
s, obtiene una estructura TimeSpan
que tiene todas esas propiedades para usted.
Sobre la base de la pregunta, el cálculo del tiempo entre dos fechas, es mejor usar DateDiff. Por ejemplo, a continuación, también podemos reemplazar la hora con el minuto, segundo, mes, etc .:
Dim timeDif As Long = DateDiff(DateInterval.Hour, startDate, endDate)
Usando TimeSpan devuelve la diferencia de tiempo excluido el ciclo diario, ver más abajo código:
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
Buena Uno Muchas gracias ... –
Para cualquiera que use esto, tenga en cuenta que span.Segundos NO devolverá la diferencia de tiempo total en segundos, sino la diferencia en los componentes de segundos (hasta 59 máx.). Para devolver la diferencia total, utilice span.TotalSeconds, span.TotalMinutes, etc. – http203
Este no es código de VB.net, esto es C#. – cybermonkey