Dans PostgreSQL, nous pouvons utiliser le extract()
fonction avec l'epoch
argument pour renvoyer l'horodatage Unix.
Nous pouvons renvoyer l'horodatage Unix en fonction de la date/heure actuelle, ou nous pouvons l'obtenir en fonction d'une autre date/heure spécifiée.
L'horodatage Unix (également appelé heure d'époque Unix, heure Unix ou heure POSIX) est le nombre de secondes qui se sont écoulées depuis 00:00:00 jeudi 1er janvier 1970, temps universel coordonné (UTC).
Obtenir l'horodatage Unix actuel
Voici un exemple d'obtention de l'horodatage Unix à partir de la date et de l'heure actuelles :
SELECT extract(epoch from now());
Résultat :
1650152298.430101
Valeurs de date
Voici un exemple d'obtention de l'horodatage Unix à partir d'une date
spécifiée valeur :
SELECT extract(epoch from date '2030-08-15');
Résultat :
1912982400
Lorsqu'il est utilisé avec date
valeurs, epoch
renvoie le nombre nominal de secondes depuis le 1970-01-01 00:00:00, sans tenir compte du fuseau horaire ou des règles d'heure d'été.
Valeurs d'horodatage
Voici un exemple d'obtention de l'horodatage Unix à partir d'un timestamp
spécifié valeur :
SELECT extract(epoch from timestamp '2030-08-15 03:30:45');
Résultat :
1912995045
Lorsqu'il est utilisé avec timestamp
valeurs, epoch
renvoie le nombre nominal de secondes depuis le 1970-01-01 00:00:00, sans tenir compte des règles de fuseau horaire ou d'heure d'été. C'est la même chose que lors de l'utilisation de date
valeurs.
Horodatage avec valeur de fuseau horaire
Voici un exemple d'obtention de l'horodatage Unix à partir d'un timestamp with time zone
spécifié valeur :
SELECT extract(
epoch from timestamp with time zone '2030-08-15 03:30:45.12-08'
);
Résultat :
1913023845.12
Lorsqu'il est utilisé avec timestamp with time zone
valeurs, epoch
renvoie le nombre de secondes depuis le 1970-01-01 00:00:00 UTC (négatif pour les horodatages avant)
Intervalles
Nous pouvons également obtenir un horodatage Unix à partir d'un interval
valeur :
SELECT extract(epoch from interval '7 days 2 hours');
Résultat :
612000
Lorsqu'il est utilisé avec interval
valeurs, epoch
renvoie le nombre total de secondes dans l'intervalle.