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?
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.
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
var result = string.Format("{0:D2}:{1:D2}", myTimeSpan.Hours, myTimeSpan.Minutes);
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.
Essayez cela fonctionnera à 100% !!
myTimeSpan.ToString(@"dd\.hh\:mm");.