Vous ne pouvez pas ajouter AM / PM à un TimeSpan
. Vous devrez de toute façon associer le TimaSpan
avec DateTime
si vous souhaitez afficher l'heure au format 12 heures.
TimeSpan
n'est pas destiné à être utilisé avec un format d'horloge de 12 heures, car nous parlons d'une intervalle de temps ici.
Comme il est dit dans le documentation ;
A TimeSpan
représente un intervalle de temps (durée du temps ou temps écoulé) qui est mesuré en tant que positif ou négatif nombre de jours, d'heures, de minutes, de secondes et de fractions de seconde. Le site TimeSpan
peut également être utilisée pour représenter l'heure de la journée, mais uniquement si l'heure n'est pas liée à une date particulière. Dans le cas contraire, la structure DateTime
o DateTimeOffset
doit être utilisée à la place.
Aussi Microsoft Docs décrit comme suit ;
A TimeSpan
peut être représentée comme suit [-]d.hh:mm:ss.ff
où le signe moins (facultatif) indique un intervalle de temps négatif, le symbole d
est de plusieurs jours, hh
correspond aux heures mesurées sur un Horloge de 24 heures , mm
est de quelques minutes, ss
correspond aux secondes, et ff
est une fraction de seconde.
Donc, dans ce cas, vous pouvez afficher en utilisant AM/PM comme suit.
TimeSpan storedTime = new TimeSpan(03,00,00);
string displayValue = new DateTime().Add(storedTime).ToString("hh:mm tt");
Note complémentaire :
Il convient également de noter que le Heure du jour propriété de DateTime
est un TimeSpan
où il représente
a intervalle de temps qui représente la fraction du jour qui s'est écoulée depuis minuit.