Asp.Net MVC C#

C# Asp.Net MVC – Time Metodumu Paylaşıyorum

Merhabalar, genellikle blog site ve sosyal medya tabanlı takım projelerimde kullandığım bir metodu sizinle paylaşmak istiyorum. Metodu web tarafında kullandığımdan anlatımım web üzerinden olacak. Asp.Net MVC yi baz alacağım bu anlatımı, diğer platformlara da uyarlayarak kullanabilirsiniz.

Time Metodu Nedir?

Time metodu, içerisine gönderilen tarihi kullanarak şuan ki tarihten ne kadar önce olduğunu bulan ve bunu kullanıcıya string döndüren bir kod parçacığıdır.

Time Metodunun Kullanım Aşamaları

  1. Metot içine tarih( DateTime timeValue ) ve durum( bool status ) gönderilir.
  2. Gelen tarih bilgisi( timeValue ) şimdiki zamandan çıkarılarak “time” değerine atanır.
  3. “time” değeri, gün( day ), saat( hour ), dakika( min ) ve saniye( sec ) şeklinde bölünür.

Time Metodunun Geri Dönüş Değerleri

Gelen tarih ve şuan ki tarih arasındaki farkın

  1. 2 günden fazla olması halinde, tarih ve saat
  2. 2 günden az olması ve 0 güne eşit olmaması halinde, “n gün önce”
  3. 0 dan farklı bir saat içermesi halinde, “n saat önce”
  4. 0 dan farklı bir dakika içermesi halinde, “n dk önce”
  5. 60 saniyeden küçük olması ve 30 saniyeden büyük olması halinde, “az önce”

“status” değerinin

  1. “true” olarak gelmesi halinde, “çevrimiçi”
  2. “false” olarak gelmesi halinde, “şimdi”

Şeklinde geri döndürülür.

Time Metodu public string Time(DateTime timeValue, bool status) { TimeSpan time = DateTime.Now - timeValue; int day = time.Days, hour = time.Hours, min = time.Minutes, sec = time.Seconds; string value = ""; if (day > 2) value = timeValue.ToString("dd.MM.yyyy HH:mm"); else if (day <= 2 && day != 0) value = day + " gün önce"; else if (hour != 0) value = hour + " saat önce"; else if (min != 0) value = min + " dk önce"; else if (sec < 60 && sec > 30) value = "az önce"; else if (status == true) value = "çevrimiçi"; else if (status == false) value = "şimdi"; return value; } Not: “status” değeri metodun farklı alanlarda kullanılabilmesi için eklenmiştir. Paylaşım gibi işlemlerde şimdi, kullanıcı işlemlerinde ise çevrimiçi olarak gösterilmektedir.

Dikkat: Veritabanından bir tarih çekilecekse; çekilecek olan sütun “Not Null” olması gerekmektedir. Aksi halde metoda tarih göndermeniz mümkün olmayabilir.

Bir yazımın daha sonuna geldim. Bir sonraki yazımda görüşmek dileğiyle… Sevgiyle kalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir