Qual è la migliore libreria per la visualizzazione di date relative (ad es .: 20 minuti fa) per ASP.NET MVC utilizzando in C#?Calcolo delle date relative utilizzando asp.net mvc
risposta
Non è necessaria una libreria quando un semplice metodo di estensione può farlo. Questo è un metodo di estensione che ho usato:
public static string TimeAgo(this DateTime date)
{
TimeSpan timeSince = DateTime.Now.Subtract(date);
if (timeSince.TotalMilliseconds < 1) return "not yet";
if (timeSince.TotalMinutes < 1) return "just now";
if (timeSince.TotalMinutes < 2) return "1 minute ago";
if (timeSince.TotalMinutes < 60) return string.Format("{0} minutes ago", timeSince.Minutes);
if (timeSince.TotalMinutes < 120) return "1 hour ago";
if (timeSince.TotalHours < 24) return string.Format("{0} hours ago", timeSince.Hours);
if (timeSince.TotalDays < 2) return "yesterday";
if (timeSince.TotalDays < 7) return string.Format("{0} days ago", timeSince.Days);
if (timeSince.TotalDays < 14) return "last week";
if (timeSince.TotalDays < 21) return "2 weeks ago";
if (timeSince.TotalDays < 28) return "3 weeks ago";
if (timeSince.TotalDays < 60) return "last month";
if (timeSince.TotalDays < 365) return string.Format("{0} months ago", Math.Round(timeSince.TotalDays/30));
if (timeSince.TotalDays < 730) return "last year"; //last but not least...
return string.Format("{0} years ago", Math.Round(timeSince.TotalDays/365));
}
Un utente anonimo ha presentato una modifica suggerita con il titolo * Kelsey, puoi correggere il tuo codice per quanto segue: Quando timeSince.TotalDays == 1.9243, restituisce "1 giorno fa" *, suggerendo un bug sulla riga "ieri". Dovrebbe essere un commento piuttosto che una modifica, ma non credo che l'utente sia in grado di postare commenti. –
Non conosco alcuna libreria esistente che esiste per questo ma http://tiredblogger.wordpress.com/2008/08/21/creating-twitter-esque-relative-dates-in-c/ dovrebbe iniziare.
ne dici di questo? Ma questo è il plugin jQuery. non C#.
Personalmente utilizzerei questa opzione, fa il lavoro pesante sul client anziché sul server che sarebbe importante per i siti con molto traffico. Non è possibile memorizzare le informazioni sul tipo "minuto fa" nella cache. – John
Humanizer è una libreria fantastica per questo. È su nuget e include molte altre grandi conversioni per stringhe ed enumerazioni oltre alle date.
Humanizer ha bug con TimeSpan. Vedi [qui] (https://github.com/Humanizr/Humanizer/issues/583) – redwards510
- 1. Formato date relative
- 2. Date relative in ColdFusion
- 3. Confronta date DataAnnotations convalida asp.net mvc
- 4. calcolo delle distanze utilizzando l'accelerometro
- 5. ASP.Net MVC Convalida intervallo di date discreto
- 6. Algoritmo per il calcolo delle restrizioni date dal calendario
- 7. ASP.NET MVC 3 utilizzando l'autenticazione
- 8. Intervalli di annotazione delle date delle date
- 9. Gestione delle eccezioni API Web ASP.NET MVC
- 10. ASP.NET MVC utilizzando il modello di repository
- 11. Gestione delle eccezioni nel controller (ASP.NET MVC)
- 12. Gestione delle eccezioni in global.asax ASP.NET MVC
- 13. Calcolo della differenza di date In Postgresql
- 14. ASP.NET MVC vs. ASP.NET 4.0
- 15. Entra processo utilizzando Entity Framework asp.net mvc
- 16. ASP.Net MVC, Inviare un modulo utilizzando JavaScript
- 17. Utilizzando Url.Content in ASP.net MVC 2.0
- 18. Utilizzando ASP.Net identità in MVC 4
- 19. utilizzando SquishIt in ASP.NET MVC 3
- 20. Localizzazione in ASP.NET MVC 4 utilizzando App_GlobalResources
- 21. Come posso creare date relative/approssimative in Perl?
- 22. Date di calcolo in oracle sql
- 23. MySQL settimana calcolo tra due date
- 24. ASP.Net MVC DisplayFormat
- 25. Calcolo delle dichiarazioni C
- 26. Calcolo delle percentuali in js
- 27. asp.net MVC e $ .ajax hanno aggiunto overhead delle prestazioni
- 28. Iniezione delle dipendenze e ASP.net MVC 5/Web API 2
- 29. Confronto delle date utilizzando LINQ alle entità (Entity Framework)
- 30. Sommare i dati delle date di quest'anno utilizzando Google Spreasheets
possibile duplicato di [Come faccio a calcolare il tempo relativo?] (Http://stackoverflow.com/questions/11/how-do-i-calculate-relative-time) –