J'ai ce code pour prendre un temps dans le passé et générer une chaîne lisible pour représenter depuis combien de temps il était.Y a-t-il un moyen plus intelligent de générer du "temps depuis" avec un objet DateTime?
j'aurais Timespan.Hours de pensée ne vous donnera des heures même si ses multiples Daye dans le passé, mais on dirait qu'il se décompose en ses composants séparés (jours, mois, etc.). Comment puis-je obtenir il y a nombre total d'heures (même si son plus de 1 jour?
Y at-il plus propre façon d'écrire ce type de code ci-dessous car il semble assez spagetti-ish.
Voici le code
DateTime when = GetDateTimeinPast();
TimeSpan ts = DateTime.Now.Subtract(when);
switch (ts.Days)
{
case 0:
if (ts.Hours < 1)
b.Append(ts.Minutes + " minutes ago");
else
b.Append(ts.Hours + " hours ago");
break;
case 1:
b.Append(" yesterday");
break;
case 2:
case 3:
case 4:
b.Append("on " + when.DayOfWeek.ToString());
break;
default:
b.Append(ts.Days + " days ago");
break;
}
Une langue peut aider – TheLQ
Semble être C#. –
@ Lord.Quackstar - balises mises à jour et question – leora