IRONSOFTWAREHOME
ENTWICKLER-UPDATES

Datetime-Objekte in C# (Funktionsweise für Entwickler)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 23. April 2026

DateTime-Objekte in C# sind grundlegend für die Arbeit mit Daten und Zeiten in .NET Framework-Anwendungen. Sie bieten eine robuste Palette von Funktionen zum Manipulieren, Formatieren und Vergleichen von Daten und Zeiten.

Dieser Artikel soll einen umfassenden Überblick über DateTime-Objekte in C# geben, einschließlich ihrer Erstellung, Manipulation, Formatierung und häufiger Anwendungsfälle. Am Ende des Artikels werden wir auch erkunden, wie IronPDF von Iron Software ein PDF-Dokument sofort in C#-Anwendungen generieren kann.

Erstellen von DateTime-Objekten

Die Erstellung eines DateTime-Objekts in C# ist unkompliziert. Es gibt mehrere Konstruktoren, um ein DateTime-Objekt mit verschiedenen Parametern zu initialisieren:

// Current date and time
DateTime currentDateTime = DateTime.Now;
// Specific date and time
DateTime specificDateTime = new DateTime(2024, 3, 16, 10, 30, 0);
// Date only
DateTime dateOnly = DateTime.Today;
// Date and time in UTC
DateTime utcDateTime = DateTime.UtcNow;

Manipulation von DateTime-Objekten

DateTime-Objekte stellen verschiedene Methoden zum Manipulieren von Daten und Zeiten bereit, wie z. B. das Hinzufügen oder Subtrahieren von Zeitintervallen, das Extrahieren von Komponenten und das Konvertieren zwischen Zeitzonen.

DateTime now = DateTime.Now;
// Adding days
DateTime futureDate = now.AddDays(7);
// Subtracting hours
DateTime pastTime = now.AddHours(-3);
// Getting components
int year = now.Year;
int month = now.Month;
int day = now.Day;
int hour = now.Hour;
int minute = now.Minute;
int second = now.Second;
// Converting between time zones
DateTime utcTime = DateTime.UtcNow;
DateTime localTime = utcTime.ToLocalTime();

Formatierung von DateTime-Objekten

DateTime-Objekte können mithilfe verschiedener Formatspezifizierer in Zeichenfolgen formatiert werden, um sie im erforderlichen Format darzustellen.

DateTime dateTime = DateTime.Now;
// Standard date and time format
string standardFormat = dateTime.ToString("G");
// Custom format
string customFormat = dateTime.ToString("dd/MM/yyyy HH:mm:ss");
// Format for sorting
string sortableFormat = dateTime.ToString("yyyy-MM-ddTHH:mm:ss");

Vergleich von DateTime-Objekten

C# bietet standardisierte Vergleichsoperatoren (<, >, <=, >=, ==, !=), die verwendet werden können, um zwei DateTime-Objekte direkt zu vergleichen. Diese Operatoren vergleichen die zugrunde liegenden Ticks der DateTime-Objekte, die die Anzahl der 100-Nanosekunden-Intervalle darstellen, die seit dem 1. Januar 0001 um 00:00:00.000 im gregorianischen Kalender vergangen sind.

Hier ist ein Beispiel, das die Verwendung von Vergleichsoperatoren demonstriert:

DateTime date1 = DateTime.Now;
DateTime date2 = DateTime.Now.AddDays(1);
if (date1 < date2)
{
    Console.WriteLine("date1 is earlier than date2.");
}
else if (date1 > date2)
{
    Console.WriteLine("date1 is later than date2.");
}
else
{
    Console.WriteLine("date1 is equal to date2.");
}

Verwendung der DateTime.Compare C#-Methode

Zusätzlich zu Vergleichsoperatoren bieten DateTime-Objekte auch Methoden zum Vergleich der relativen Werte zwischen diesen Objekten. Diese Methoden bieten mehr Flexibilität und Lesbarkeit in bestimmten Szenarien. Die CompareTo()-Methode vergleicht zwei DateTime-Objekte und gibt einen ganzzahligen Wert zurück, der angibt, ob eines früher, später oder gleich dem anderen ist.

DateTime date1 = DateTime.Now;
DateTime date2 = DateTime.Now.AddDays(1);
int result = date1.CompareTo(date2);
if (result < 0)
{
    Console.WriteLine("date1 is earlier than date2.");
}
else if (result > 0)
{
    Console.WriteLine("date1 is later than date2.");
}
else
{
    Console.WriteLine("date1 is equal to date2.");
}

Vergleich von DateTime-Objekten mit Toleranz

Um DateTime-Objekte zu vergleichen, insbesondere bei Berechnungen mit Zeitintervallen, ist es wichtig, aufgrund potenzieller Unterschiede in der Genauigkeit einen Toleranzwert zu berücksichtigen.

Dies kann erreicht werden, indem der absolute Unterschied zwischen zwei DateTime-Werten mit einem vordefinierten Toleranzwert verglichen wird.

class Program
{
    public static void Main()
    {
        DateTime date1 = DateTime.Now;
        DateTime date2 = DateTime.Now.AddMilliseconds(10);
        TimeSpan tolerance = TimeSpan.FromMilliseconds(5);
        bool isEqual = Math.Abs((date1 - date2).TotalMilliseconds) <= tolerance.TotalMilliseconds;
        if (isEqual)
        {
            Console.WriteLine("date1 is considered equal to date2 within the tolerance.");
        }
        else
        {
            Console.WriteLine("date1 is not equal to date2 within the tolerance.");
        }
    }
}

Handhabung von Zeitzonen und Sommerzeit

DateTime-Objekte in C# können sowohl Ortszeit als auch koordinierte Weltzeit (UTC) darstellen. Es ist wichtig, sich der Zeitzonen-Konvertierungen bewusst zu sein, insbesondere bei globalen Anwendungen.

DateTime localTime = DateTime.Now;
DateTime utcTime = DateTime.UtcNow;
Console.WriteLine("Local Time: " + localTime);
Console.WriteLine("UTC Time: " + utcTime);

IronPDF to Generate PDF documents in C#

IronPDF von Iron Software ist eine effiziente und einfach zu bedienende Bibliothek zur PDF-Erzeugung. Sie können es mit dem NuGet Paketmanager installieren:

Datetime Objects in C# (How It Works For Developers): Figure 1

dotnet add package IronPdf --version 2024.3.4

Oder aus Visual Studio wie unten gezeigt:

Datetime Objects in C# (How It Works For Developers): Abbildung 2 - Installation von IronPDF mit dem NuGet-Paketmanager

Nun wollen wir in die PDF-Erstellung eintauchen, um ein DateTime-Objekt zu demonstrieren.

using IronPdf;

class Program
{
    static void Main()
    {
        Console.WriteLine("-----------Iron Software-------------");
        
        // Create a new instance of ChromePdfRenderer
        var renderer = new ChromePdfRenderer();
        
        // HTML content for the PDF
        var content = "<h1> Iron Software is Awesome </h1> Made with IronPDF!";
        content += "<h2>Demo Datetime Objects in C#</h2>";
        
        // Current date and time
        content += "<h3>Current date and time</h3>";
        DateTime currentDateTime = DateTime.Now;
        content += $"<p>Current date and time: {currentDateTime:U}</p>";
        Console.WriteLine($"Current date and time: {currentDateTime:U}");
        
        // Specific date and time
        content += "<h3>Specific date and time</h3>";
        DateTime specificDateTime = new DateTime(2024, 3, 16, 10, 30, 0);
        content += $"<p>Specific date and time: {specificDateTime:U}</p>";
        Console.WriteLine($"Specific date and time: {specificDateTime:U}");
        
        // Date only
        content += "<h3>Date Only</h3>";
        DateTime dateOnly = DateTime.Today;
        content += $"<p>Date only: {dateOnly:U}</p>";
        Console.WriteLine($"Date only: {dateOnly:U}");
        
        // Date and time in UTC
        content += "<h3>Date and time in UTC</h3>";
        DateTime utcDateTime = DateTime.UtcNow;
        content += $"<p>Date and time in UTC: {utcDateTime:U}</p>";
        Console.WriteLine($"Date and time in UTC: {utcDateTime:U}");
        
        // Compare dates with Operators
        content += "<h3>Compare dates with Operators</h3>";
        DateTime date1 = DateTime.Now;
        DateTime date2 = DateTime.Now.AddDays(1);
        content += $"<p>Compare date1 {date1:d}, date2 {date2:d}: {CompareDates(date1, date2)}</p>";
        Console.WriteLine($"Compare date1 {date1:U}, date2 {date2:U}: {CompareDates(date1, date2)}");
        
        // Compare dates with Compare Method
        content += "<h3>Compare dates with Compare Method</h3>";
        content += $"<p>Compare date1 {date1:d}, date2 {date2:d}: {CompareDatesWithCompare(date1, date2)}</p>";
        Console.WriteLine($"Compare date1 {date1:U}, date2 {date2:U}: {CompareDatesWithCompare(date1, date2)}");
        
        // Render the content to PDF
        var pdf = renderer.RenderHtmlAsPdf(content);
        
        // Save the PDF to the output file
        pdf.SaveAs("outputDate.pdf");
    }
    
    // Compare two dates using CompareTo method
    public static string CompareDatesWithCompare(DateTime date1, DateTime date2)
    {
        int result = date1.CompareTo(date2);
        string resultString;
        if (result < 0)
        {
            resultString = "date1 is earlier than date2.";
            Console.WriteLine(resultString);
        }
        else if (result > 0)
        {
            resultString = "date1 is later than date2.";
            Console.WriteLine(resultString);
        }
        else
        {
            resultString = "date1 is equal to date2.";
            Console.WriteLine(resultString);
        }
        return resultString;
    }
    
    // Compare two dates using basic comparison operators
    public static string CompareDates(DateTime date1, DateTime date2)
    {
        string result;
        if (CheckLessor(date1, date2))
        {
            result = "date1 is earlier than date2.";
            Console.WriteLine(result);
        }
        else if (CheckGreater(date1, date2))
        {
            result = "date1 is later than date2.";
            Console.WriteLine(result);
        }
        else
        {
            result = "date1 is equal to date2.";
            Console.WriteLine(result);
        }
        return result;
    }
    
    // Helper method to check if the first date is greater than the second date
    public static bool CheckGreater(DateTime date1, DateTime date2)
    {
        return date1 > date2;
    }
    
    // Helper method to check if the first date is less than the second date
    public static bool CheckLessor(DateTime date1, DateTime date2)
    {
        return date1 < date2;
    }
}

Die folgende Ausgabe zeigt das mit DateTime-Objekten generierte PDF:

DateTime Objects in C# (How It Works For Developers): Figure 3

IronPDF Testlizenz

IronPDF benötigt eine Testlizenz für die volle Funktionalität. Geben Sie eine E-Mail-ID an, um einen Lizenzschlüssel zu generieren, der an Ihre E-Mail-Adresse geliefert wird.

"IronPdf.LicenseKey": "<Your Key>"
JSON

Legen Sie den Lizenzschlüssel in der AppSettings.json-Datei ab.

Abschluss

DateTime-Objekte in C# bieten eine leistungsstarke Möglichkeit, mit Daten und Zeiten in .NET-Anwendungen zu arbeiten. Sie bieten ein breites Spektrum an Funktionen zum Erstellen, Manipulieren, Formatieren und Vergleichen von Daten- und Zeitwerten. Zu verstehen, wie man DateTime-Objekte effektiv nutzt, ist entscheidend für den Aufbau zuverlässiger und genauer Datums- und Zeitfunktionen in C#-Anwendungen.

Durch Nutzung der Fähigkeiten von DateTime-Objekten können Entwickler sicherstellen, dass ihre Anwendungen Daten und Zeiten korrekt handhaben, unabhängig von den spezifischen Anforderungen oder Szenarien, auf die sie stoßen.

Ob zur Berechnung von Zeitdauern, zur Planung von Aufgaben oder zur Anzeige von Daten und Zeiten an Benutzer – DateTime-Objekte spielen eine entscheidende Rolle in vielen Aspekten der C#-Programmierung in Bezug auf das Management von Daten und Zeiten.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor is Chief Technology Officer at Iron Software and a visionary engineer pioneering C# PDF technology. As the original developer behind Iron Software's core codebase, he has shaped the company's product architecture since its inception, transforming it alongside CEO Cameron Rimington into a 50+ person company serving NASA, Tesla, and global government agencies.

...
Read More

Related Articles

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge related to IronPDF Product Demo

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.