IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C# Timespan Biçimlendirme (Geliştiriciler İçin Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 21 Nisan 2026

Bugünün hızlı tempolu geliştirme dünyasında, zaman aralıklarını yönetmek, proje yönetim sistemlerinden zaman izleme araçlarına kadar birçok uygulama için önemlidir. C# içinde TimeSpan yapısı, geliştiricilerin hesaplamalar yapmasını ve zaman verilerini verimli bir şekilde biçimlendirmesini kolaylaştırarak zaman aralıklarını temsil etmenin sağlam bir yolunu sağlar. Bunu, .NET için güçlü bir PDF oluşturma kütüphanesi olan IronPDF ile birleştirmek, zaman verilerine dayalı dinamik, görsel olarak çekici raporlar oluşturmayı mümkün kılar.

Bu makalede, C#'ta TimeSpan biçimlendirme ayrıntılarına dalacak ve IronPDF ile entegrasyonunu kesintisiz bir şekilde raporlar oluşturmak için nasıl kullanacağımızı açıklayacağız. Çalışan çalışma saatlerini izlerken veya proje sürelerini ölçerken, bu kılavuz raporlama yeteneklerinizi artırmak için pratik örnekler sunacaktır.

Understanding TimeSpan in C#

C#'ta TimeSpan nedir?

C#'taki TimeSpan yapısı, bir zaman aralığını temsil eder ve süreleri ölçmek veya iki tarih ve saat değeri arasındaki farkı belirlemek için kullanılabilir. Çeşitli zamanla ilgili hesaplamalar yapmaya olanak tanıyan çok yönlü bir yapıdır, örneğin:

  • Görevlerin süresini hesaplama.
  • Olaylar arasındaki zaman farklarını ölçme.
  • Performans ölçümü için zamanlayıcılar oluşturma.

TimeSpan'in önemi, uygulamalar arasında zaman aralıkları yönetimini basitleştirme ve standartlaştırma yeteneğinde yatar, bu da çeşitli zamanla ilgili görevlerin yönetimini kolaylaştırır.

TimeSpan Oluşturma ve Kullanma İçin Temel Yöntemler

Bir TimeSpan nesnesi oluşturmak basittir, çeşitli yöntemler mevcuttur, örneğin:

  • TimeSpan.FromHours(double hours): Belirtilen saat sayısını temsil eden bir TimeSpan oluşturur.
  • TimeSpan.FromMinutes(double minutes): Belirtilen dakika sayısını temsil eden bir TimeSpan oluşturur.
  • TimeSpan.FromSeconds(double seconds): Belirtilen saniye sayısını temsil eden bir TimeSpan oluşturur.

TimeSpan örneklerini nasıl oluşturacağınızı ve hesaplamalarda nasıl kullanabileceğini gösteren bir örnek:

// Creating TimeSpan instances
TimeSpan taskDuration = TimeSpan.FromHours(2.5); // 2 hours and 30 minutes
TimeSpan breakDuration = TimeSpan.FromMinutes(15); // 15 minutes
// Calculating total time spent
TimeSpan totalTime = taskDuration + breakDuration;
Console.WriteLine($"Total time spent: {totalTime}"); // Outputs: 02:45:00

Bu, aşağıdaki çıktıyı gösterir:

C# Zaman Aralığı Formatı (Geliştiriciler için Nasıl Çalışır): Şekil 1

Görüntülenecek TimeSpan Biçimlendirme

TimeSpan değerlerini görüntülemeye gelince, C# çeşitli biçimlendirme seçenekleri sunar. Belirleyiciler, TimeSpan değerleri dizelere dönüştürülürken nasıl görüntüleneceğini kontrol etmek için kullanılır. Bu belirleyiciler, TimeSpan nesnelerinin çıktı formatını tanımlar ve onların nihai PDF raporunda temsil edilmelerini özelleştirmeye yardımcı olur. En sık kullanılan format belirleyiciler arasında şunlar bulunmaktadır:

  • "c": Değişmez format (örneğin, 1 gün, 2 saat, 30 dakika ve 45 saniye için 1.02:30:45).
  • "g": Standart format belirleyicisi, sıfır ise gün kısmını hariç tutar (örneğin, 02:30:45).
  • Özel formatlar: Saat ve dakika veya günlerle saat kombinasyonu gibi özel gereksinimlere uyacak şekilde özel formatlar tanımlayabilirsiniz.

TimeSpan'ı raporlarda veya günlüklerde çıktı için biçimlendirme örnekleri:

TimeSpan duration = new TimeSpan(1, 2, 30, 45); // 1 day, 2 hours, 30 minutes, 45 seconds
// Default "c" format string produces the output: 1.02:30:45
Console.WriteLine(duration.ToString("c"));
// Custom format "hh:mm:ss" outputs: 26:30:45
Console.WriteLine(duration.ToString(@"hh\:mm\:ss")); 
// Custom format with days, outputs: 1d 02h 30m
Console.WriteLine(duration.ToString(@"d'd 'hh'h 'mm'm '"));

Bu örnek, aşağıdaki çıktıyı gösterir:

C# Zaman Aralığı Formatı (Geliştiriciler için Nasıl Çalışır): Şekil 2

PDF Oluşturma için TimeSpan ile IronPDF Kullanma

.NET Projenizde IronPDF Kurulumu

IronPDF i kullanmaya başlamak için öncelikle yüklemeniz gerekecek. Eğer zaten yüklüyse, bir sonraki bölüme geçebilirsiniz, aksi takdirde, aşağıdaki adımlar IronPDF kütüphanesinin nasıl yükleneceğini kapsar.

NuGet Paket Yöneticisi Konsolu ile

NuGet Paket Yöneticisi Konsolu'nu kullanarak IronPDF'i yüklemek için Visual Studio'yu açın ve Paket Yöneticisi Konsolu'na gidin. Ardından aşağıdaki komutu çalıştırın:

PM > Install-Package IronPdf

Çözüm için NuGet Paket Yöneticisi ile

Visual Studio'yu açarak 'Araçlar -> NuGet Paket Yöneticisi -> Çözüm İçin NuGet Paketlerini Yönet' bölümüne gidin ve IronPDF'i arayın. Buradan, tek yapmanız gereken projenizi seçip "Install" seçeneğine tıklamak ve IronPDF projenize eklenecektir.

C# Zaman Aralığı Formatı (Geliştiriciler için Nasıl Çalışır): Şekil 3

IronPDF'i yükledikten sonra, IronPDF'i kullanmaya başlamak için tek yapmanız gereken, kodunuzun en üstüne doğru 'using' deyimini eklemektir:

using IronPdf;

Artık, IronPDF ve TimeSpan'i PDF oluşturma görevleri için kullanmaya hazırsınız.

IronPDF ile Zaman Temelli Raporlar Oluşturma

IronPDF ayarlandıktan sonra, TimeSpan verilerini bilgilendirici PDF raporları oluşturmak için kullanabilirsiniz. Örneğin, çalışanlar için çalışma günlükleri oluşturmanız gereken bir senaryoyu düşünün. Görev sürelerini ve mola sürelerini etkili bir şekilde göster

Örnek Senaryo: Bir PDF Raporunda TimeSpan Değerlerini Biçimlendirme

Bir PDF raporunda TimeSpan verilerini kullanma, basit bir çalışma günlüğü oluşturmayı da içeren bir yöntem:

using IronPdf;
public static void Main(string[] args)
{
    TimeSpan duration = new TimeSpan(9, 30, 25);
    var employees = new List<(string name, TimeSpan timeSpan)> {
    ("Jane Doe",  duration),
    ("John Doe", duration)
    };
    GenerateWorkLogReport(employees);
}
public static void GenerateWorkLogReport(List<(string Employee, TimeSpan Duration)> workLogs)
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    var htmlContent = "<h1>Work Log Report</h1><table border='1'><tr><th>Employee</th><th>Duration</th></tr>";
    foreach (var log in workLogs)
    {
        htmlContent += $"<tr><td>{log.Employee}</td><td>{log.Duration.ToString(@"hh\:mm\:ss")}</td></tr>";
    }
    htmlContent += "</table>";
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    pdf.SaveAs("WorkLogReport.pdf");
}

C# Zaman Aralığı Formatı (Geliştiriciler için Nasıl Çalışır): Şekil 4

Bu örnekte, çalışan çalışma günlüklerini göstermek için basit bir tablo oluşturduk. GenerateWorkLogReport yöntemi, biçimlendirilmiş TimeSpan değerleri içeren bir HTML tabloyu oluşturur ve ardından bu tabloyu bir PDF belgeye dönüştürür. İçeriğin PDF formatına uygun olarak işlenmesi için IronPDF'nin ChromePdfRenderer sınıfını kullanıyoruz. PdfDocument, yeni oluşturulan PDF'nin işlenmesi ve kaydedilmesi için kullanılan PDF nesnesini oluşturmak için kullanılır.

Raporlarda TimeSpan Biçimlendirme ve Kullanım İçin Gelişmiş Teknikler

Farklı Kullanım Senaryoları İçin TimeSpan Çıktısını Özelleştirme

TimeSpan çıktısını özelleştirmek, raporlarınızın okunabilirliğini önemli ölçüde artırabilir. Örneğin, yalnızca saat ve dakika göstermeniz gerekiyorsa, TimeSpan'ınızı buna göre biçimlendirebilirsiniz. Bu örnekte, son örnekte oluşturduğumuz aynı çalışan verilerini alıp, çalıştıkları saat ve dakikaları göstermek için TimeSpan'i formatlayacağız. Bu senaryoda kayıtlar için saniyeler gerekli değildir ve gereksiz yer kaplar, bu yüzden onları format dışı bırakacağız:

using IronPdf;
class Program
{
    public static void Main(string[] args)
    {
        TimeSpan duration = new TimeSpan(9, 30, 25);
        var employees = new List<(string name, TimeSpan timeSpan)> {
        ("Jane Doe",  duration),
        ("John Doe", duration)
        };
        GenerateWorkLogReport(employees);
    }
    public static void GenerateWorkLogReport(List<(string Employee, TimeSpan Duration)> workLogs)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        var htmlContent = "<h1>Work Log Report</h1><table border='1'><tr><th>Employee</th><th>Duration</th></tr>";
        foreach (var log in workLogs)
        {
            // Custom format string to format the TimeSpan value for display
            string formattedDuration = log.Duration.ToString(@"hh\:mm");
            htmlContent += $"<tr><td>{log.Employee}</td><td>{formattedDuration}</td></tr>";
        }
        htmlContent += "</table>";
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("WorkLogReport.pdf");
    }
}

C# Zaman Aralığı Formatı (Geliştiriciler için Nasıl Çalışır): Şekil 5

Bu örnekte, ToString(@"hh\:mm"), özel format dizelerini kullanarak TimeSpan'i 09:30 (toplam saat ve dakika) olarak formatlar. Bunu kullanarak, belgenin okunabilirliğini korumak için TimeSpan'in nasıl görüntüleneceğini garanti edebilirsiniz. Bu, geriye dönük olarak da yapılabilir, bir dizgeyi TimeSpan'e ayrıştırarak. Ayrıştırma, belirli bir formatı ("hh:mm" veya "d.hh:mm" gibi) takip eden giriş dizelerini, C#'ın programatik olarak çalışabileceği gerçek bir TimeSpan nesnesine dönüştürür.

Geniş Zaman Aralıklarıyla Başa Çıkma ve Okunabilirlik İçin Biçimlendirme

Daha büyük TimeSpan değerleriyle uğraşırken, onları okunabilirlik için biçimlendirmek önemlidir. Örneğin, uzun süreleri "3 gün, 5 saat" gibi daha anlaşılır bir formata dönüştürebilirsiniz:

class Program
{
    public static void Main(string[] args)
    {
        // Sample data: List of employee names and their work durations (TimeSpan)
        var workLogs = new List<(string Employee, TimeSpan Duration)>
        {
            ("Alice", new TimeSpan(5, 30, 0)), // 5 hours, 30 minutes
            ("Bob", new TimeSpan(3, 15, 0)),   // 3 hours, 15 minutes
            ("Charlie", new TimeSpan(7, 45, 0)) // 7 hours, 45 minutes
        };
        // Create the HTML content for the PDF report
        string htmlContent = @"
            <h1>Work Log Report</h1>
            <table border='1' cellpadding='5' cellspacing='0'>
                <tr>
                    <th>Employee</th>
                    <th>Work Duration (hh:mm)</th>
                </tr>";
        // Loop through the work logs and add rows to the table
        foreach (var log in workLogs)
        {
            string formattedDuration = FormatLargeTimeSpan(log.Duration);  // Custom method to format large TimeSpan values
            htmlContent += $"<tr><td>{log.Employee}</td><td>{formattedDuration}</td></tr>";
        }
        // Close the HTML table
        htmlContent += "</table>";
        // Create a new HtmlToPdf renderer
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Render the HTML content as a PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
        // Save the PDF to a file
        pdf.SaveAs("WorkLogReport.pdf");
    }
    // Custom method to handle the formatting operation
    static string FormatLargeTimeSpan(TimeSpan timeSpan)
    {
        // Check if there are days in the TimeSpan and format accordingly
        if (timeSpan.TotalDays >= 1)
        {
            return string.Format("{0} days, {1} hours, {2} minutes",
                (int)timeSpan.TotalDays,
                timeSpan.Hours,
                timeSpan.Minutes);
        }
        else
        {
            // If the duration is less than a day, show only hours and minutes
            return string.Format("{0} hours, {1} minutes", timeSpan.Hours, timeSpan.Minutes);
        }
    }
}

C# Zaman Aralığı Formatı (Geliştiriciler için Nasıl Çalışır): Şekil 6

Bu örnek için, özel yöntem olan FormatLargeTimeSpan büyük TimeSpan değerlerini "6 gün, 5 saat, 30 dakika" gibi kolayca okunur formatlara dönüştürür. TimeSpan değerinin günleri içerip içermediğini kontrol eder ve gerektiği gibi, bileşik biçimlendirmeyi destekleyen yöntemler kullanarak çıktıyı formatlar.

  • Toplam süre 24 saati aşarsa, günler çıkarılır ve kalan saat ve dakikalarla birlikte görüntülenir.
  • Bir günden kısa aralıklar için sadece saat ve dakikalar gösterilir.

Zaman Aralığı Bazlı PDF Oluşturma İçin Neden IronPDF Seçilmeli?

Raporlama Uygulamaları İçin IronPDF'nin Ana Faydaları

IronPDF, dizi, zaman ve HTML verilerine dayalı dinamik PDF'ler oluşturma konusunda güçlü özellikleriyle öne çıkar. IronPDF ile, PDF ile ilgili görevler kolayca yönetilebilir hale gelir. Temel PDF oluşturmadan güvenli PDF şifrelemeye kadar, IronPDF her konuda yanınızda. Bazı ana faydalar şunları içerir:

  • HTML'den PDF'ye Dönüşüm: HTML içeriğini PDF'ye kolayca dönüştürün, düzeni ve tasarımı koruyarak. IronPDF, DOCX, görüntü, URL ve ASPX gibi birçok dosya türünü PDF'ye dönüştürebilir.
  • Özelleştirme Seçenekleri: Raporları belirli işletme ihtiyaçlarına göre özelleştirin, PDF dosyalarınıza profesyonel görünümlü başlıklar ve altbilgiler, bir içindekiler tablosu veya hatta özel arka planlar ekleyin.
  • Piksel Düzgünlüğünde PDF'ler: IronPDF'nin modern web standartları için güçlü desteği sayesinde markanızla görsel olarak tutarlı yüksek kaliteli PDF belgeleri oluşturun, web içeriğinden üretilen PDF'ler bile her zaman piksel düzgünlüğünde çıkar.

.NET ve TimeSpan Biçimlendirme ile Sorunsuz Entegrasyon

IronPDF, .NET uygulamalarıyla sorunsuz bir şekilde entegre olur, geliştiricilerin TimeSpan yapısını etkin bir şekilde kullanmalarını sağlar. IronPDF ile, biçimlendirilmiş zaman verilerini içeren profesyonel raporlar oluşturabilir, raporlama sürecinizi verimli ve basit hale getirebilirsiniz.

Sonuç

Bu makalede, C#'ta TimeSpan değerlerini nasıl biçimlendireceğimizi ve bunları dinamik zaman temelli raporlar oluşturmak için IronPDF ile nasıl sorunsuz bir şekilde entegre edeceğimizi araştırdık. C# TimeSpan biçimlendirme yapısı, proje süreleri, çalışma günlükleri ve görev tamamlama süreleri gibi zaman aralıklarını temsil etmek için önemli bir araçtır. Kısa zaman aralıklarıyla veya birkaç gün, saat ve dakika süren büyük aralıklarla uğraşıyor olun, C# bu veriyi insan tarafından okunabilir bir formatta sunmak için esnek biçimlendirme seçenekleri sunar. Daha ileri örnekler, kültürlere uygun biçimlendirme kurallarını izlemek, zaman girdilerini almak, dizeleri bir TimeSpan'e ayrıştırmak gibi konuları içerebilir.

IronPDF, HTML'yi PDF'ye hassas bir şekilde dönüştürme konusunda mükemmeldir ve veri güdümlü uygulamalardan raporlar oluşturmak için ideal bir araçtır. C# ile entegrasyonu, TimeSpan gibi karmaşık yapıları yüksek kaliteli PDF'lere dahil etmeyi kolaylaştırır.

Artık TimeSpan değerlerini nasıl biçimlendireceğinizi ve IronPDF kullanarak PDF raporlarına nasıl entegre edeceğinizi anladığınıza göre, bir sonraki adımı atma zamanı geldi. IronPDF'nin ücretsiz denemesini indirin ve projeleriniz için dinamik, veri odaklı raporlar oluşturma potansiyelini tam anlamıyla keşfedin. IronPDF ile, zaman bazlı verilerinizi minimal bir çabayla cilalı, profesyonel belgeler haline dönüştürebilirsiniz.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez