¿Cuál es la mejor biblioteca para mostrar fechas relativas (por ejemplo: 20 minutos atrás) para ASP.NET MVC usando en C#?Cálculo de fechas relativas usando asp.net mvc
Respuesta
No necesita una biblioteca cuando puede hacerlo con un método de extensión simple. Este es un método de extensión que he utilizado:
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 usuario anónimo presentado una edición sugerida con el título * Kelsey, ¿puedes arreglar tu código para lo siguiente? Cuando timeSince.TotalDays == 1.9243, vuelve "hace 1 días" *, lo que sugiere un error en la línea "ayer". Debería ser un comentario en lugar de una edición, pero no creo que el usuario pueda publicar comentarios. –
No conozco ninguna biblioteca establecida que exista para esto pero http://tiredblogger.wordpress.com/2008/08/21/creating-twitter-esque-relative-dates-in-c/ debería comenzar.
¿Qué tal esto? Pero esto es el complemento jQuery. no c#.
Usaría personalmente esta opción, hace el trabajo pesado en el cliente en lugar del servidor, lo que sería importante para los sitios con mucho tráfico. No puede almacenar en caché la información de tipo "minuto atrás". – John
Humanizer es una biblioteca fantástica para esto. Está en Nuget e incluye muchas otras conversiones geniales para cadenas y enumeraciones además de fechas.
Humanizer tiene errores con TimeSpan. Ver [aquí] (https://github.com/Humanizr/Humanizer/issues/583) – redwards510
- 1. Formato fechas relativas
- 2. Fechas relativas en ColdFusion
- 3. Avanzando a través de fechas relativas usando strtotime()
- 4. comparación de fechas DataAnnotations Validación asp.net mvc
- 5. Manejando fechas con Asp.Net MVC y KnockoutJS
- 6. Usando ASP.NET MVC sin ORM
- 7. MySQL cálculo semana entre dos fechas
- 8. Sirviendo imágenes relativas usando assetic
- 9. Usando ASP.Net MVC Anotación de datos fuera de MVC
- 10. ¿Cómo puedo analizar las fechas relativas con Perl?
- 11. ASP.NET MVC Calendar
- 12. ASP.NET MVC usando ViewData en javascript
- 13. usando SquishIt en ASP.NET MVC 3
- 14. Usando Microsoft.VisualBasic.Logging.FileLogTraceListener con ASP.NET MVC 3
- 15. Usando ASP.NET MVC como servicio web
- 16. Enrutamiento con múltiples parámetros usando ASP.NET MVC
- 17. Respondiendo a REQUEST_METHOD = HEAD usando ASP.NET MVC
- 18. ¿Cálculo de superposición de rango de fechas eficiente en python?
- 19. ¿Cálculo de cuántos días hay entre dos fechas en DB2?
- 20. Cálculo del número de años entre 2 fechas en PHP
- 21. Lesscss y ASP.NET MVC
- 22. ASP.NET MVC 3 books plans
- 23. Rutas relativas en un código de aplicación ASP.NET detrás de
- 24. objeto dateTime en ASP.NET MVC
- 25. ¿Cómo formatear columnas de hoja de cálculo usando ColdFusion?
- 26. Autoguardar las entradas de un formulario usando jQuery + ASP.NET MVC
- 27. Usando Asp.Net MVC Rutas de una aplicación no web (pruebas)
- 28. Cálculo de porcentaje
- 29. ASP.NET MVC vs Spring MVC
- 30. ¿Cómo decirle a ASP.Net MVC que todas las fechas entrantes deserializadas de JSon deberían ser UTC?
posible duplicado de [¿Cómo se calcula el tiempo relativo?] (Http://stackoverflow.com/questions/11/how-do-i-calculate-relative-time) –