TimeSpan iki zaman arasındaki farkı bize veren bir fonksiyon. Kullanımıda
gerçekten çok basit. İşlemin sonunda bize milisaniye, saniye, dakika, saat ve gün değerlerini double tipinde geri döndürüyor.
Facebook, friendfeed veya twitter gibi sitelerde, bu içerik bir kaç saniye önce
eklendi yada 5 saat önce yüklendi gibi mesajları görmüşsünüzdür, TimeSpan
kullanarak bu işlemin nasıl yapıldığına bir göz atalım.
protected void Page_Load(object sender, EventArgs e)
{
DateTime hesaplanacakZaman = new DateTime(2010, 05, 15, 21, 23, 00);
Response.Write(neZaman(hesaplanacakZaman));
}
public string neZaman(DateTime d) {
TimeSpan tS = DateTime.Now-d;
int dakika = (int)tS.TotalMinutes;
int saat = (int)tS.TotalHours;
int gun = (int)tS.TotalDays;
string strTemp;
if (dakika < 1)
{
strTemp = "bir kaç saniye önce";
}
else if (dakika < 60)
{
strTemp = dakika+" dakika önce";
}
else if (saat < 24)
{
strTemp = saat+" saat önce";
}
else
{
strTemp = gun+" gün önce";
}
return strTemp;
}
Gördünüz gibi gayet basit ve anlaşılır bir yöntem. Sonraki yazıda görüşmek üzere hoşçakalın..





performans değerlendirmeleri yapan arkadaşların sık sık kullandığı bir kod , çok kullanışlı güzel bir özellik TimeSpan , emeğine sağlık..
eyw. Abdullah aynen alıyorum :)
Aldığın yerde “Gördünüz gibi gayet basit ve anlaşılır bir yöntem.” yazdığı için mi sen de “Gördünüz gibi gayet basit ve anlaşılır bir yöntem.” yazdın :)
“DateTime hesaplanacakZaman = new DateTime(2010, 05, 15, 21, 23, 00);” satırını açıklar mısın !
Tarih kısımları bir değişkenden yada kullanıcıdan istenebilir olmalı bence. Bu tip kodlar prof. arkadaşlaın elinde her daim bulunur ama amatör bir geliştirici için “Gördünüz gibi gayet basit ve anlaşılır bir yöntem.” DEĞİL kanımca..
Sabah sabah iyi güldürdünüz, teşekkürler. O satırın neyini açıklayayım, sizde onu açıklar mısınız ? Birde aldığın yer derken neyi kastettiniz anlayamadım ? Sadece if lerden oluşan bu basit örneği anlayamamak sizin kendi probleminiz diye düşünüyorum, kusura bakmayın ama bu kadar basit bir şeyi uzun uzadıya anlatmak akıl kârı bir durum değil ;)
garpi işkembeden sallamışsın galiba,git msdn den bak datetime fonksiyonunun aldığı parametrelere, araştırmak bu kadar zor mu , alışmayın böyle hazıra..