Vous avez peut-être remarqué que certaines applications Web (par exemple certaines parties de GMail) affichent des dates dans un format plus lisible que celui de JJ/MM/AAAA.Formats de date lisibles par l'utilisateur
Par exemple, si j'ouvre un article de courrier du 23 (qui se trouve être il y a 3 jours au moment de l'écriture, je vais les éléments suivants:
décembre il y a 23 (3 jours)
Je voudrais mettre en œuvre une logique similaire à cela dans ma propre application web.
par exemple, lorsqu'il s'agit d'un objet TimeSpan .NET, je voudrais le convertir en texte tel que ce qui suit:
2 mois
3 jours
Y at-il une bibliothèque .NET capable de le faire déjà? Sinon je pourrais construire quelque chose de basique et open-source.
J'ai fait un début de base ici:
public static class TimeSpanHelpers
{
public static string ToHumanReadableString(
this TimeSpan timeSpan)
{
if (timeSpan.TotalDays > 30)
return (timeSpan.TotalDays/30) + " month(s)";
if (timeSpan.TotalDays > 7)
return (timeSpan.TotalDays/7) + " week(s)";
return (timeSpan.TotalDays) + " day(s)";
}
}
Voir: http://stackoverflow.com/questions/11/how-do-i-calculate-relative-time – CMS
Génial ... Je savais que quelqu'un me poserait cette question mais ne pouvait pas savoir quels termes utiliser dans la boîte de recherche. – Jonathan
J'ai un algorithme simple pour cela sur mon blog que vous pourriez prolonger: http://www.robfe.com/2009/09/timeago-for-csharp/ Pas très différent du vôtre J'ai peur ... –