C# Obtenir l'horodatage Unix

Minahil Noor 12 octobre 2023
  1. Programme C# pour obtenir l’horodatage Unix en utilisant la méthode DateTime.Now.Subtract().TotalSeconds
  2. Programme C# pour obtenir l’horodatage Unix en utilisant la méthode DateTimeOffset.Now.ToUnixTimeSeconds()
  3. Programme C# pour obtenir l’horodatage Unix en utilisant les méthodes de structure TimeSpan
C# Obtenir l'horodatage Unix

Un timestamp Unix est principalement utilisé dans les systèmes d’exploitation Unix. Mais il est utile pour tous les systèmes d’exploitation car il représente l’heure de tous les fuseaux horaires. Les Unix Timestamps représentent l’heure en secondes. L’époque Unix epoch a commencé le 1er janvier 1970. Ainsi, Unix Timestamp est le nombre de secondes entre une date spécifique et une Unix epoch.

En C#, il existe différentes méthodes pour obtenir un Unix timestamp. Dans cet article, nous allons nous concentrer sur ces méthodes. Lisez jusqu’à la fin pour découvrir ces méthodes.

Programme C# pour obtenir l’horodatage Unix en utilisant la méthode DateTime.Now.Subtract().TotalSeconds

La classe DateTime est utilisée pour obtenir la date et l’heure. DateTime.Now indique la date et l’heure actuelles. La méthode Subtract() trouve la différence entre la date actuelle et l’époque Unix. Et la propriété TotalSeconds convertit la date et l’heure résultante en secondes.

La syntaxe correcte pour utiliser cette méthode est la suivante:

DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
// 1970, 1, 1 is the Unix epoch

Exemple de code:

using System;

public class UnixTimestamp {
  public static void Main() {
    Int32 unixTimestamp = (Int32)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

Production:

The Unix Timestamp is 1586782314.

Programme C# pour obtenir l’horodatage Unix en utilisant la méthode DateTimeOffset.Now.ToUnixTimeSeconds()

La méthode DateTimeOffset.Now.ToUnixTimeSeconds() est une méthode prédéfinie. Elle calcule l’horodatage Unix en secondes. La valeur Unix epoch est déjà définie dans la méthode, donc, nous n’avons pas besoin de la passer en paramètre.

La syntaxe correcte pour utiliser cette méthode est la suivante:

DateTimeOffset.Now.ToUnixTimeSeconds();

Exemple de code:

using System;

public class UnixTimestamp {
  public static void Main() {
    var unixTimestamp = DateTimeOffset.Now.ToUnixTimeSeconds();
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

Production:

The Unix Timestamp is 1586782273.

Programme C# pour obtenir l’horodatage Unix en utilisant les méthodes de structure TimeSpan

En C#, TimeSpan est une structure qui indique l’intervalle de temps. Sa propriété Ticks est utilisée pour représenter la valeur de l’intervalle de temps. Elle peut être utilisée pour trouver l’Unix Timestamp.

La syntaxe correcte pour utiliser cette structure est la suivante:

// Creating First Time Interval
TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);
// Creating Second Time Interval and Substracting its Value from the First One
TimeSpan unixTicks = new TimeSpan(DateTime.Now.Ticks) - epochTicks;
// Converting time interval to seconds to represent Unix Timestamp
Int32 unixTimestamp = (Int32)unixTicks.TotalSeconds;

Exemple de code:

using System;

public class UnixTimestamp {
  public static void Main() {
    TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);
    TimeSpan unixTicks = new TimeSpan(DateTime.Now.Ticks) - epochTicks;
    Int32 unixTimestamp = (Int32)unixTicks.TotalSeconds;
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

Production:

The Unix Timestamp is 1586782432.

Article connexe - Csharp DateTime