Come faccio a leggere un valore temporale e quindi inserirlo in una variabile TimeSpan
Domanda
Come posso leggere un valore temporale e quindi inserirlo in una variabile TimeSpan?
Soluzione
Se ti capisco correttamente, stai provando a ottenere un input utente sotto forma di "08: 00" e vuoi memorizzare l'ora in una variabile timepan?
Quindi .. qualcosa del genere?
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);
Altri suggerimenti
Da MSDN : un oggetto TimeSpan rappresenta un tempo intervallo o durata del tempo, misurato come numero positivo o negativo di giorni, ore, minuti, secondi e frazioni di secondo. La più grande unità di tempo utilizzata per misurare la durata è un giorno.
Ecco come puoi inizializzarlo su CurrentTime (in tick):
TimeSpan ts = new TimeSpan(DateTime.Now.Ticks);
TimeSpan span = new TimeSpan(days,hours,minutes,seconds,milliseonds);
Oppure, se intendi DateTime:
DateTime time = new DateTime(year,month,day,minutes,seconds,milliseconds);
Dove tutti i parametri sono ints.
Forse usando:
var span = new TimeSpan(hours, minutes, seconds);
Se intendi aggiungere due fasce orarie insieme usa:
var newSpan = span.Add(new TimeSpan(hours, minutes, seconds));
Per ulteriori informazioni, vedere msdn .
Non puoi modificare le proprietà di un TimeSpan. Devi creare una nuova istanza e passare lì i nuovi valori.