[.NET] Convertir un timestamp POSIX en date | Ma parcelle sur le web
Me soutenir

Flattr this

Mes applications

Mes applications sur le Google Play Store

Archives
Catégories

[.NET] Convertir un timestamp POSIX en date

Ceci est le tout premier article consacré à la programmation avec le Framework .NET.

Tous les codes donnés sont écrits en C#, mais peuvent être aisément convertis dans n’importe quel autre langage .NET de votre choix (VB.NET, C++/CLI, etc).

Préambule

On commence en douceur avec un snippet permettant de convertir un timestamp POSIX en date traditionnelle ;)

C’est toujours pratique de l’avoir sous le coude au cas où !

Qu’est-ce qu’un « timestamp POSIX » au fait ? C’est un nombre entier (codé sur 32 bits) représentant le nombre de secondes écoulées depuis le 1er janvier 1970 00:00:00 UTC, comme décrit dans la norme POSIX.

Code

Ce snippet convertit ce timestamp sous forme de chaîne de caractères représentant l’équivalent en date et heure locales :

String POSIXTimestampToDate(String timestamp)
{
    DateTime date = new DateTime(1970, 1, 1, 0, 0, 0);

    date = date.AddSeconds(Double.Parse(timestamp)).ToLocalTime();

    return date.ToString();
}

Exemple

En bonus et en guise d’exemple, voici comment extraire la date d’installation de Windows en utilisant ce snippet (en effet, celle-ci est stockée dans le registre sous la forme d’un timestamp POSIX) :

using Microsoft.Win32;

String GetSystemInstallDate()
{
    String data = Registry.GetValue("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion", "InstallDate", "").ToString();

    return POSIXTimestampToDate(data);
}

Exemple de la sortie d'une application affichant la date d'installation.

Exemple de la sortie d’une application affichant la date d’installation.

Share Button

Flattr this!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>