Come faccio a leggere un valore temporale e quindi inserirlo in una variabile TimeSpan

StackOverflow https://stackoverflow.com/questions/131944

  •  02-07-2019
  •  | 
  •  

Domanda

Come posso leggere un valore temporale e quindi inserirlo in una variabile TimeSpan?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top