Como faço para ler um valor de tempo e, em seguida, inseri-lo em uma variável TimeSpan
Pergunta
Como faço para ler um valor de tempo e, em seguida, inseri-lo num variáveis ??TimeSpan?
Solução
Se eu entendi você está tentando obter alguma entrada do usuário na forma de "08:00" e deseja armazenar o tempo em uma variável período de tempo?
Então .. algo assim?
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);
Outras dicas
A partir MSDN : Um objeto TimeSpan representa um tempo intervalo, ou a duração do tempo, medido como um número positivo ou negativo de dias, horas, minutos, segundos e fraces de um segundo. A maior unidade de tempo utilizada para medir a duração é de um dia.
Veja como você pode inicializar para CurrentTime (em ticks):
TimeSpan ts = new TimeSpan(DateTime.Now.Ticks);
TimeSpan span = new TimeSpan(days,hours,minutes,seconds,milliseonds);
Ou, se você quer dizer DateTime:
DateTime time = new DateTime(year,month,day,minutes,seconds,milliseconds);
Onde todos os parâmetros são ints.
Talvez usando:
var span = new TimeSpan(hours, minutes, seconds);
Se você significar a adição de dois intervalos de tempo juntos usar:
var newSpan = span.Add(new TimeSpan(hours, minutes, seconds));
Para obter mais informações, consulte MSDN .
Você não pode alterar as propriedades de um TimeSpan. Você precisa criar uma nova instância e passar os novos valores lá.