Pregunta

¿Cómo leo un valor de tiempo y luego lo inserto en una variable de TimeSpan?

¿Fue útil?

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í.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top