trabajadas suma segundos resta online minutos horas diferencia dias contador calcular calculadora c#

c# - suma - calcular horas en excel



Calculando cuántos minutos hay entre dos veces (5)

¿Qué pasa con varTime.TotalMinutes ? :)

Tengo una vista de cuadrícula de datos en mi aplicación que contiene los tiempos de inicio y finalización. Quiero calcular la cantidad de minutos entre estas dos veces. Hasta ahora tengo:

var varFinish = tsTable.Rows[intCellRow]["Finish Time"]; TimeSpan varTime = (DateTime)varFinish - (DateTime)varValue; int intMinutes = TimeSpan.FromMinutes(varTime);

Pero la última línea no compilará porque dice que estoy usando argumentos inválidos para el constructor Timespan. He investigado bastante sobre cómo calcular el número de minutos entre dos veces, pero estoy golpeando un poco una pared de ladrillos. ¿Puede alguien por favor asesorarme sobre la mejor manera de lograr mi objetivo?

EDITAR/

Ahora mi código es el siguiente:

var varFinish = tsTable.Rows[intCellRow]["Finish Time"]; TimeSpan varTime = (DateTime)varFinish - (DateTime)varValue; int intMinutes = (int)varTime.TotalMinutes;

Pero estoy recibiendo un yeso inválido en la segunda línea. Tanto varFinish como varValue son tiempos, por ejemplo, 10:00 y 8:00 dicen. ¿Entonces no estoy seguro de por qué no lanzarán para escribir DateTime?


En su código de consulta, está utilizando TimeSpan.FromMinutes incorrectamente. Consulte la documentación de MSDN para TimeSpan.FromMinutes, que proporciona la siguiente firma de método:

public static TimeSpan FromMinutes(double value)

por lo tanto, el siguiente código no compilará

var intMinutes = TimeSpan.FromMinutes(varTime); // won''t compile

En su lugar, puede usar la propiedad TimeSpan.TotalMinutes para realizar esta aritmética. Por ejemplo:

TimeSpan varTime = (DateTime)varFinish - (DateTime)varValue; double fractionalMinutes = varTime.TotalMinutes; int wholeMinutes = (int)fractionalMinutes;


Prueba esto

DateTime startTime = varValue DateTime endTime = varTime TimeSpan span = endTime.Subtract ( startTime ); Console.WriteLine( "Time Difference (minutes): " + span.TotalMinutes );


Si la diferencia entre endTime y startTime es mayor o igual a 60 Minutos , la instrucción: endTime.Subtract(startTime).Minutes; siempre regresará (minutesDifference % 60) . Obviamente, lo que no se desea cuando solo estamos hablando de minutos (no horas aquí).
Estas son algunas de las maneras si desea obtener el total number of minutes (en diferentes tipos de transmisión):

// Default value that is returned is of type *double* double double_minutes = endTime.Subtract(startTime).TotalMinutes; int integer_minutes = (int)endTime.Subtract(startTime).TotalMinutes; long long_minutes = (long)endTime.Subtract(startTime).TotalMinutes; string string_minutes = (string)endTime.Subtract(startTime).TotalMinutes;


double minutes = varTime.TotalMinutes; int minutesRounded = (int)Math.Round(varTime.TotalMinutes);

TimeSpan.TotalMinutes : la cantidad total de minutos representados por esta instancia.