Göreli tarihleri görüntülemek için en iyi kütüphane hangisi (örneğin: 20 dakika önce) C# kullanarak ASP.NET MVC için?Asp.net mvc kullanarak göreceli tarihleri hesaplama
cevap
Basit bir uzantı yöntemi bunu gerçekleştirdiğinde kütüphaneye ihtiyacınız yoktur. Bu konuda
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));
}
olası yinelenen başlık ile önerilen bir düzenleme * Kelsey, aşağıdakiler için kodunuzu düzeltebilir misiniz: timeSince.TotalDays == 1.9243, "1 gün önce" * dönüyor, "dün" satırında bir hata öneriliyor. Bir düzenleme yerine bir yorum olmalı, ancak kullanıcının yorum gönderebileceğini sanmıyorum. –
Bunun için mevcut herhangi bir kütüphaneyi bilmiyorum ama http://tiredblogger.wordpress.com/2008/08/21/creating-twitter-esque-relative-dates-in-c/ başlatmanız gerekir.
Nasıl: Bu benim kullanmış bir uzantısı yöntemidir? Ama bu jQuery eklentisi. C değil#.
Bu seçeneği kişisel olarak kullanıyorum, istemcinin sunucu üzerinde yoğun bir şekilde kaldırılmasını, trafiğin yoğun olduğu siteler için önemli olacak. "Dakika önce" tür bilgilerini önbelleğe alamazsınız. – John
Humanizer, bunun için harika bir kütüphanedir. Nuget üzerinde ve tarihlere ek olarak dizeleri ve enumlar için diğer büyük dönüşümler çok sayıda içerir.
Humanizer'ın TimeSpan ile hataları var. Bkz. [Burada] (https://github.com/Humanizr/Humanizer/issues/583) – redwards510
- 1. , asp.net mvc kullanarak var olan url asp.net mvc
- 2. Sembolik Bağlama tarihleri kullanarak?
- 3. - ASP.Net MVC
- 4. Asp.net MVC
- 5. ASP.NET MVC
- 6. ASP.NET MVC
- 7. asp.net mvc kullanarak mongodb veritabanı oluşturmak
- 8. REQUEST_METHOD yanıtı = ASP.NET MVC kullanarak HEAD
- 9. Kimlik doğrulama kullanarak ASP.NET MVC 3
- 10. ASP.NET MVC Doğrulaması kullanarak qTip jQuery Eklentisi
- 11. ASP.NET MVC
- 12. Asp.Net Mvc
- 13. ASP.NET MVC
- 14. ASP.Net MVC
- 15. ASP.NET MVC
- 16. asp.net MVC
- 17. Asp.net mvc
- 18. ASP.Net MVC
- 19. ASP.NET MVC
- 20. Asp.net mvc
- 21. ASP.NET MVC
- 22. ASP.NET MVC
- 23. ASP.Net MVC
- 24. ASP.NET mvc
- 25. VB.NET Uzantı Metodu ASP.NET MVC kullanarak görüntüleme MVC
- 26. Spring MVC vs ASP.NET (MVC?)
- 27. Beklenmedik tarih hesaplama sonucu
- 28. Ayrıştırma ASP.NET MVC, Java
- 29. ns2 kullanarak bağlantı kullanımı hesaplama
- 30. ASP.NET MVC kodu
[I göreli süresini hesaplamak nasıl?] (Http://stackoverflow.com/questions/11/how-do-i-calculate-relative-time) Anonim kullanıcılar tarafından gönderilen –