IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

Datetime Objects in C# (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 23 avril 2026

DateTime objets en C# sont fondamentaux pour travailler avec les dates et les heures dans les applications .NET Framework. Ils fournissent un ensemble de fonctionnalités robustes pour manipuler, formater et comparer les dates et les heures.

Cet article vise à fournir une vue d'ensemble complète des DateTime objets en C#, couvrant leur création, manipulation, formatage et cas d'utilisation courants. À la fin de l'article, nous explorerons également comment IronPDF de Iron Software peut générer un document PDF à la volée dans les applications C#.

Création d'Objets DateTime

Créer un objet DateTime en C# est simple. Il existe plusieurs constructeurs disponibles pour initialiser un objet DateTime avec différents paramètres :

// 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;

Manipulating DateTime Objects

Les objets DateTime offrent diverses méthodes pour manipuler les dates et les heures, telles que l'ajout ou la soustraction d'intervalles de temps, l'extraction de composants et la conversion entre les fuseaux horaires.

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();

Formatage des objets DateTime

Les objets DateTime peuvent être formatés en chaînes en utilisant divers spécificateurs de format pour les représenter dans le format requis.

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");

Comparaison des objets DateTime

C# fournit des opérateurs de comparaison standard (<, >, <=, >=, ==, !=) qui peuvent être utilisés pour comparer directement deux objets DateTime. Ces opérateurs comparent les ticks sous-jacents des objets DateTime, qui représentent le nombre d'intervalles de 100 nanosecondes écoulés depuis le 1er janvier de l'an 0001 à 00:00:00.000 dans le calendrier grégorien.

Voici un exemple démontrant l'utilisation des opérateurs de comparaison :

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.");
}

Utilisation de la méthode DateTime.Compare en C#

En plus des opérateurs de comparaison, les objets DateTime fournissent également des méthodes pour comparer les valeurs relatives entre ces objets. Ces méthodes offrent plus de flexibilité et de lisibilité dans certains scénarios. La méthode CompareTo() compare deux objets DateTime et renvoie une valeur entière indiquant si l'un est plus tôt, plus tard ou le même que l'autre.

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.");
}

Comparaison des objets DateTime avec tolérance

Pour comparer des objets DateTime, notamment lors de calculs impliquant des intervalles de temps, il est important de considérer un niveau de tolérance en raison des éventuelles différences de précision.

Cela peut être réalisé en comparant la différence absolue entre deux valeurs DateTime par rapport à un seuil de tolérance prédéfini.

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.");
        }
    }
}

Gestion des Fuseaux Horaires et de l'Heure d'Été

Les objets DateTime en C# peuvent représenter à la fois l'heure locale et l'heure universelle coordonnée (UTC). Il est important d'être conscient des conversions de fuseaux horaires, notamment dans le cadre d'applications mondiales.

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 de Iron Software est une bibliothèque de génération de PDF efficace et facile à utiliser. Vous pouvez l'installer à l'aide du Package Manager NuGet :

Objets DateTime en C# (Comment ça fonctionne pour les développeurs) : Figure 1

dotnet add package IronPdf --version 2024.3.4

Ou depuis Visual Studio comme montré ci-dessous :

Objets DateTime en C# (Comment ça fonctionne pour les développeurs) : Figure 2 - Installation d'IronPDF avec le gestionnaire de packages NuGet

Plongeons maintenant dans la génération de PDF pour démontrer un objet DateTime.

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;
    }
}

La sortie suivante montre le PDF généré avec les objets DateTime :

DateTime Objets en C# (Comment ça fonctionne pour les développeurs) : Figure 3

Licence d'Essai IronPDF

IronPDF nécessite une licence d'essai pour une fonctionnalité complète. Fournissez un ID d'Email pour générer une clé de licence qui sera envoyée à votre adresse email.

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

Placez la clé de licence dans le fichier AppSettings.json.

Conclusion

Les objets DateTime en C# offrent un moyen puissant de travailler avec les dates et les heures dans les applications .NET. Ils offrent une large gamme de fonctionnalités pour créer, manipuler, formater et comparer des valeurs de date et d'heure. Comprendre comment utiliser efficacement les objets DateTime est essentiel pour construire des fonctionnalités fiables et précises de gestion des dates et heures dans les applications C#.

En tirant parti des capacités des objets DateTime, les développeurs peuvent s'assurer que leurs applications gèrent correctement les dates et heures, quels que soient les exigences ou scénarios spécifiques auxquels ils sont confrontés.

Qu'il s'agisse de calculer des durées, de planifier des tâches ou d'afficher des dates et des heures aux utilisateurs, les objets DateTime jouent un rôle crucial dans de nombreux aspects de la programmation C# liés à la gestion des dates et heures.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $