now new minutes c# timespan

c# - new - Cómo convertir la cadena “07:35”(HH: MM) a TimeSpan



timespan format hh mm c# (4)

Puedes convertir la hora usando el siguiente código.

TimeSpan _time = TimeSpan.Parse("07:35");

Pero si desea obtener la hora actual del día, puede utilizar el siguiente código:

TimeSpan _CurrentTime = DateTime.Now.TimeOfDay;

El resultado será:

03:54:35.7763461

Con un objeto puede controlar las horas, minutos, segundos, garrapatas, etc.

Me gustaría saber si hay una manera de convertir una cadena con formato de 24 horas a un TimeSpan.

Ahora mismo tengo un "viejo estilo de moda":

string stringTime = "07:35"; string[] values = stringTime.Split('':''); TimeSpan ts = new TimeSpan(values[0], values[1], 0);


Si bien es correcto que esto funcionará:

TimeSpan time = TimeSpan.Parse("07:35");

Y si lo estás utilizando para validación ...

TimeSpan time; if (!TimeSpan.TryParse("07:35", out time)) { // handle validation error }

Tenga en cuenta que TimeSpan está destinado principalmente a trabajar con el tiempo transcurrido, en lugar de la hora del día. Aceptará valores mayores a 24 horas y también aceptará valores negativos.

Si necesita validar que la cadena de entrada es una hora del día válida (> = 00:00 y <24:00), entonces debería considerar esto en su lugar:

DateTime dt; if (!DateTime.TryParseExact("07:35", "HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { // handle validation error } TimeSpan time = dt.TimeOfDay;

Como beneficio adicional, esto también analizará las horas con formato de 12 horas cuando se incluya una mañana o una tarde, siempre que proporcione la cadena de formato adecuada, como "h:mm tt" .


Tratar

var ts = TimeSpan.Parse(stringTime);

Con un nuevo .NET también tienes

TimeSpan ts; if(!TimeSpan.TryParse(stringTime, out ts)){ // throw exception or whatnot } // ts now has a valid format

Este es el idioma general para analizar cadenas en .NET con la primera versión que maneja una cadena errónea lanzando FormatException y la última permitiendo que TryParse booleano le dé la información directamente.