Comment lire une valeur de temps puis l'insérer dans une variable TimeSpan
Question
Comment lire une valeur d'heure, puis l'insérer dans une variable TimeSpan?
La solution
Si je vous ai bien compris, vous essayez de saisir les commentaires de l'utilisateur sous la forme "08:00". et que vous voulez stocker le temps dans une variable de durée?
Alors ... quelque chose comme ça?
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);
Autres conseils
De MSDN : un objet TimeSpan représente une heure intervalle ou durée, mesuré en nombre de jours, heures, minutes, secondes et fractions de seconde positifs ou négatifs. La plus grande unité de temps utilisée pour mesurer la durée est un jour.
Voici comment vous pouvez l'initialiser à CurrentTime (en ticks):
TimeSpan ts = new TimeSpan(DateTime.Now.Ticks);
TimeSpan span = new TimeSpan(days,hours,minutes,seconds,milliseonds);
Ou, si vous voulez dire DateTime:
DateTime time = new DateTime(year,month,day,minutes,seconds,milliseconds);
Où tous les paramètres sont ints.
Peut-être en utilisant:
var span = new TimeSpan(hours, minutes, seconds);
Si vous entendez ajouter deux périodes de temps ensemble, utilisez:
var newSpan = span.Add(new TimeSpan(hours, minutes, seconds));
Pour plus d'informations, voir msdn .
Vous ne pouvez pas modifier les propriétés d'un TimeSpan. Vous devez créer une nouvelle instance et y transmettre les nouvelles valeurs.