web-dev-qa-db-fra.com

Comment convertir TimeSpan en chaîne de 24 heures et minutes?

J'utilise ce code pour convertir Timespan en String (ex: 14:53):

myTimeSpan.ToString("hh:mm");

mais cette erreur se produit:

Le fil d'alimentation n'était pas au bon format

Quelle est la bonne façon de procéder?

19
Majid
myTimeSpan.ToString(@"hh\:mm")

Chaînes de format TimeSpan personnalisées

Les spécificateurs de format TimeSpan personnalisés n'incluent pas de symboles de séparation d'espace réservé, tels que les symboles qui séparent les jours des heures, des heures des minutes ou des secondes des fractions de seconde. Au lieu de cela, ces symboles doivent être inclus dans la chaîne de format personnalisé en tant que littéraux de chaîne. Par exemple, "jj.hh \: mm" définit un point (.) Comme séparateur entre les jours et les heures et un deux-points (:) comme séparateur entre les heures et les minutes.

40
Tim Schmelter

Vous devez utiliser @"hh\:mm\" pour TimeSpan. Le formatage de l'intervalle de temps n'est pas exactement le même que DateTime

myTimeSpan.ToString(@"hh\:mm");

Consultez Msdn pour plus d'informations

10
Sriram Sakthivel
var result = string.Format("{0:D2}:{1:D2}",  myTimeSpan.Hours, myTimeSpan.Minutes);
9
Damith

De TimeSpan.ToString Method (String)

TimeSpan t = new TimeSpan(14, 53, 0);
Console.WriteLine(t.ToString(@"hh\:mm"));

Comme alternative, vous pouvez utiliser String.Format Comme;

Console.WriteLine(String.Format("{0}:{1}", t.Hours, t.Minutes));

Rappelez-vous , TimeSpan.ToString(String) surcharge uniquement disponible pour .NET 4 ou supérieur.

2
Soner Gönül

Essayez cela fonctionnera à 100% !!

myTimeSpan.ToString(@"dd\.hh\:mm");.
0
Bassam Alugili