public static string GrafikVeriEtiketiOlustur(ZamanAraligiVerisi dilim, string formatStringi, bool ikinciTarihiGoster) { /* Bu fonksiyon grafik çizilirken alt tarafa yazılacak tarihlerin belirlenmesi için kullanılır * İki tarih arasındaki tek fark yalnızca ayın hangi günü olduklarıysa yıl verisini, saat ve dakikayı da yazmaya gerek yok * Etikette hangi tarih verilerinin girileceği el ile varilir * "dd\MM" gibi * "yyyy","MM","dd","HH","mm" şeklinde verilmeli, büyük-küçük harf farkına dikkat edilmelidir */ return(ikinciTarihiGoster ? dilim.Baslangic.ToString(formatStringi) + " - " + dilim.Bitis.AddMilliseconds(-1).ToString(formatStringi) : dilim.Baslangic.ToString(formatStringi)); }
public static string GrafikVeriEtiketiOlustur(ZamanAraligiVerisi dilim, bool ikinciTarihiGoster, string isimSekli, string dil) { /* Bu fonksiyon grafik çizilirken alt tarafa yazılacak tarihlerin belirlenmesi için kullanılır * Verilen tarihe göre haftanın günü verisi döndürür * Eğer isimSekli "ddd" ise "Pzt", "Pzr" şeklinde, "dddd" ise "Pazartesi", pazar şeklinde dödürür * dil hangi dilde döndürüleceğini gösterir "tr-Tr" gibi * eğer ikinciTarihiGoster doğruysa ikinci tarih için de * bu fonksiyon kullanılıp sonuçları birleştirip döndürülüyor. */ System.Globalization.CultureInfo kultur = new System.Globalization.CultureInfo(dil); return(ikinciTarihiGoster ? dilim.Baslangic.ToString(isimSekli, kultur) + " - " + dilim.Bitis.AddMilliseconds(-1).ToString(isimSekli, kultur) : dilim.Baslangic.ToString(isimSekli, kultur)); }
public static string GrafikVeriEtiketiOlustur(ZamanAraligiVerisi dilim, int degisendenOncekilerinSayisi, int degisendenSonrkilerinSayisi, bool ikinciTarihiGoster) { /* Bu fonksiyon grafik çizilirken alt tarafa yazılacak tarihlerin belirlenmesi için kullanılır * İki tarih arasındaki tek fark yalnızca ayın hangi günü olduklarıysa yıl verisini, saat ve dakikayı da yazmaya gerek yok * Tarihlerin arasındaki farklı en büyük kısmı bulmak için önce tarih çıkarması yapılır * Farkın içinde sırayla yıl, ay, gün, saat ve dakika sayısına bakılır. * {"yyyy","MM","dd","HH","mm"} dizesinde, farkın olduğu yerin indeksi "int degisen" değişkeninde tutulur * degisen, ondan önce "degisendenOncekilerinSayisi" ve sonra "degisendenSonrkilerinSayisi" sayısında indekste bulunanlar * yeni bir listeye alınır * Bu listeden DateTime.toString fonksiyonunda kullanılmak üzere bir string oluşturulur * Fonksiyon dd/MM/yyyy HH:ss formatıyla çağrılacak, o yüzden daha önce oluşturulan listedeki elemanlar * bu formata uyacak şekilde string'e ekleniyor. * sonuç stringi Datetime.toString fonksiyonuyla belirleniyor, eğer ikinciTarihiGoster doğruysa ikinci tarih için de * bu fonksiyon kullanılıp sonuçları birleştirip döndürülüyor. */ int degisen, ilkIndex, boyut; string[] tamFormat = { "yyyy", "MM", "dd", "HH", "mm" }; List <string> yeniFormat; string formatStringi = ""; TimeSpan fark = dilim.Bitis.Subtract(dilim.Baslangic); if (fark.TotalDays >= 365) //Arada yıl var { degisen = 0; } else if (fark.TotalDays >= 30) //Arada ay var { degisen = 1; } else if (fark.TotalDays >= 1) //Arada gün var { degisen = 2; } else if (fark.TotalHours >= 1) //Arada saat var { degisen = 3; } else { degisen = 4; } ilkIndex = 0 > degisen - degisendenOncekilerinSayisi ? 0 : degisen - degisendenOncekilerinSayisi; boyut = tamFormat.Length - ilkIndex < degisendenSonrkilerinSayisi + degisendenOncekilerinSayisi + 1 ? tamFormat.Length - ilkIndex : degisendenSonrkilerinSayisi + degisendenOncekilerinSayisi + 1; yeniFormat = ArrayKesiti(tamFormat, ilkIndex, boyut).ToList(); //Tam formatın neresinden neresine alınacağı belirlendi, ve kesit alındı if (yeniFormat.Contains("dd")) { formatStringi += "dd"; } if (yeniFormat.Contains("MM")) { formatStringi += formatStringi.Length == 0 ? "MM" : "'/'MM"; } if (yeniFormat.Contains("yyyy")) { formatStringi += formatStringi.Length == 0 ? "yyyy" : "'/'yyyy"; } if (yeniFormat.Contains("HH")) { formatStringi += formatStringi.Length == 0 ? "HH" : " HH"; } if (yeniFormat.Contains("mm")) { formatStringi += formatStringi.Length == 0 ? "mm" : ":mm"; } return(ikinciTarihiGoster ? dilim.Baslangic.ToString(formatStringi) + " - " + dilim.Bitis.AddMilliseconds(-1).ToString(formatStringi) : dilim.Baslangic.ToString(formatStringi)); }