¿Cómo leo un valor de tiempo y luego lo inserto en una variable de TimeSpan?
Pregunta
¿Cómo leo un valor de tiempo y luego lo inserto en una variable de TimeSpan?
Solución
Si te entiendo correctamente, estás intentando obtener información del usuario en la forma " 08: 00 " ¿Desea almacenar el tiempo en una variable de tiempo?
Entonces ... ¿algo como esto?
string input = "08:00";
DateTime time;
if (!DateTime.TryParse(input, out time))
{
// invalid input
return;
}
TimeSpan timeSpan = new TimeSpan(time.Hour, time.Minute, time.Second);
Otros consejos
De MSDN : un objeto de TimeSpan representa una hora intervalo, o duración del tiempo, medido como un número positivo o negativo de días, horas, minutos, segundos y fracciones de segundo. La unidad de tiempo más grande utilizada para medir la duración es un día.
Aquí se explica cómo puede inicializarlo a CurrentTime (en tics):
TimeSpan ts = new TimeSpan(DateTime.Now.Ticks);
TimeSpan span = new TimeSpan(days,hours,minutes,seconds,milliseonds);
O, si te refieres a DateTime:
DateTime time = new DateTime(year,month,day,minutes,seconds,milliseconds);
Donde todos los parámetros son ints.
Tal vez usando:
var span = new TimeSpan(hours, minutes, seconds);
Si te refieres a agregar dos intervalos de tiempo, usa:
var newSpan = span.Add(new TimeSpan(hours, minutes, seconds));
Para obtener más información, consulte msdn .
No puedes cambiar las propiedades de un TimeSpan. Debe crear una nueva instancia y pasar los nuevos valores allí.