Convertir un entier en timestamp

Le timestamp est un nombre qui représente le nombre de secondes écoulées depuis le 1er janvier de l’année 1970 à minuit précise du temps universel. Le timestamp s’allie à un compteur qui s’incrémente au fil des secondes.

timestamp.jpg

L’emploi du timestamp présente ses avantages comme ses inconvénients. Il permet par exemple de prendre moins de place pour mémoriser une date car le timestamp est simplement un nombre, une meilleure gestion universelle car il ne prend pas compte du fuseau horaire, comparaison facile de deux dates car deux nombres… Mais ses inconvénients sont par exemple son inutilité pour un humain qui aura constamment besoin d’un convertisseur, le début du comptage qui ne prend en compte que les dates après 1970…

Convertir une chaine de caractères en entier

Pour commencer, on effectue la conversion avec des fonctions simples de conversion de dates, de type SQL Server, bien que ce dernier soit moins facile à comprendre. Ainsi, pour procéder à une conversion d’une chaîne de caractères en entier, en principe, ses timestamps doivent être stockés dans des types appropriés, et non en Varchar. Si en Varchar, il faudra d’abord effectuer la conversion du varchar en nombre. Avec l’aide d’un SQL Server, on utilise alors la fonction CONVERT (), soit SELECT convert (bigint, temps) AS date FROM alertes. De cette manière, on obtient des entiers de type bigint. Cette étape peut être sautée si le champ est déjà de ce type.

Convertir une date/heure GMT en date/heure locale

Lorsqu’on a une date au format GMT, on pourrait chercher à convertir son timestamp original en date / heure locale.

gmt.jpg

La première étape est de récupérer la date / heure GMT et la date / heure locale, puis d’effectuer la différence entre les deux afin d’avoir le décalage horaire. Ensuite, ajouter ce décalage à la date GMT pour obtenir une heure locale.