İpucu

Herkese Merhaba. Bugün Facebook üzerinde uygulanan ve siz birşey paylaştığınızda şu kadar dakika,saat,gün,ay,yıl önce paylaşılmış diye bir ibare vardır.Bunun asp.net ’de nasıl olacağını göreceğiz.

 Aslında yapacağımız çok bir işlem yok . Bir fonksiyon tanımlama ile bütün bunları yapabiliriz.Projeyi ve veritabanını makalenin sonunda paylaşacağım.Fonksiyonumuz aşağıdaki gibidir .

public string zaman(DateTime zamanarasi)
        {
            TimeSpan zamanfarki = DateTime.Now -zamanarasi;
          int saniye =Convert.ToInt32(Math.Round(zamanfarki.TotalSeconds));
            int dakika =Convert.ToInt32(Math.Round(zamanfarki.TotalSeconds/60));
            int saat =Convert.ToInt32( Math.Round(zamanfarki.TotalSeconds / 3600));
            int gun =Convert.ToInt32( Math.Round(zamanfarki.TotalSeconds / 86400));
            int hafta =Convert.ToInt32(Math.Round( zamanfarki.TotalSeconds/604800));
            int ay = Convert.ToInt32(Math.Round(zamanfarki.TotalSeconds / 2419200));
            int yil =Convert.ToInt32( Math.Round(zamanfarki.TotalSeconds / 29030400));
 
            if (saniye <= 59)
 
                if (saniye == 0)
                {
                    return "Şimdi Yazıldı";
                }
                else
                {
                    return saniye + " saniye önce";
                }
 
            else if (dakika <= 59)
 
                return dakika + " dakika önce";
            else if (saat <= 23)
                return saat + " saat önce";
            else if (gun <= 6)
                return gun + " gün önce";
            else if (ay <= 11)
                return ay + " ay önce";
            else
                return yil + " yıl önce";
 
 }


Burda ne yaptığımızı açıklarsak veritabanına kaydedilen saati parametre olarak aldık.Aldığımız saatten şuanda bulunduğumuz saati çıkardık . Çıkardığımız format bize toplam saniyeleri veriyor. Eğer biz bu saniyeyi (gün,ay,yil hesabı yaptığımız saniyelere) bölersek o zaman bizim istediğimiz türden sonuç elde ediyoruz. Uygulamanın görüntüsü aşağıdaki gibidir.


 

Görmüş olduğunuz gibi program çalışıyor. Sizde uygulamalarınıza bu fonksiyon ile yapabilirsiniz.Yalnız veritabanı alanınız MSSQL için datetime formatında olmak zorundadır.

Yeni makalelerde görüşmek dileğimle...