Fonctions d'horodatage en SQL standard

BigQuery accepte les fonctions TIMESTAMP ci-après.

REMARQUE : Ces fonctions renvoient une erreur d'exécution en cas de débordement. Les valeurs de résultat sont délimitées par les valeurs min/max définies pour la date et l'horodatage.

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP()

Description

Les parenthèses sont facultatives. Cette fonction gère les sauts de secondes en les lissant sur une fenêtre de 20 heures autour de la seconde intercalaire insérée. CURRENT_TIMESTAMP() produit une valeur TIMESTAMP continue, non ambiguë, ayant exactement 60 secondes par minute et ne répétant pas les valeurs au-delà de la seconde intercalaire.

Types d'entrée acceptés

Non applicable

Type de données de résultat

TIMESTAMP

Exemple

SELECT CURRENT_TIMESTAMP() as now;

+-------------------------------+
| now                           |
+-------------------------------+
| 2016-05-16 18:12:47.145482+00 |
+-------------------------------+

EXTRACT

EXTRACT(part FROM timestamp_expression [AT TIME ZONE tz_spec])

Description

Renvoie une valeur INT64 qui correspond à la part spécifiée à partir d'une expression timestamp_expression fournie.

Les valeurs autorisées pour part sont :

  • MICROSECOND
  • MILLISECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAYOFWEEK
  • DAY
  • DAYOFYEAR
  • WEEK : renvoie le numéro de semaine de la date (compris dans la plage [0, 53]). Les semaines commencent le dimanche, et les dates antérieures au premier dimanche de l'année correspondent à la semaine 0.

  • WEEK(<WEEKDAY>) : renvoie le numéro de semaine de timestamp_expression (compris dans la plage [0, 53]). Les semaines commencent le jour indiqué par la valeur de WEEKDAY. Les éléments datetime antérieurs au premier WEEKDAY de l'année correspondent à la semaine 0. Les valeurs valides pour WEEKDAY sont SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY et SATURDAY.

  • ISOWEEK : renvoie le numéro de semaine ISO 8601 de datetime_expression. Les ISOWEEK commencent le lundi. Les valeurs renvoyées sont comprises dans la plage [1, 53]. La première ISOWEEK de chaque année ISO commence le lundi précédant le premier jeudi de l'année civile grégorienne.

  • MONTH

  • QUARTER

  • YEAR

  • ISOYEAR : renvoie l'année à numérotation de semaine ISO 8601, qui correspond à l'année civile grégorienne contenant le jeudi de la semaine à laquelle date_expression appartient.

  • DATE

  • DATETIME
  • TIME

Les valeurs renvoyées tronquent les périodes d'ordre inférieur. Par exemple, lors de l'extraction de secondes, EXTRACT tronque les valeurs en millisecondes et en microsecondes.

Consultez la rubrique Définition de fuseaux horaires pour plus d'informations sur la spécification d'un fuseau horaire.

Type de données renvoyé

Généralement INT64. Renvoie DATE si part a la valeur DATE.

Exemples

Dans l'exemple suivant, EXTRACT renvoie une valeur correspondant à l'élément de temps DAY.

SELECT EXTRACT(DAY
  FROM TIMESTAMP "2008-12-25 15:30:00" AT TIME ZONE "America/Los_Angeles")
  AS the_day;

+------------+
| the_day    |
+------------+
| 25         |
+------------+

Dans l'exemple suivant, EXTRACT renvoie des valeurs correspondant à différents éléments de temps d'une colonne d'horodatages.

WITH Timestamps AS (
  SELECT TIMESTAMP '2005-01-03 12:34:56' AS timestamp UNION ALL
  SELECT TIMESTAMP '2007-12-31' UNION ALL
  SELECT TIMESTAMP '2009-01-01' UNION ALL
  SELECT TIMESTAMP '2009-12-31' UNION ALL
  SELECT TIMESTAMP '2017-01-02' UNION ALL
  SELECT TIMESTAMP '2017-05-26'
)
SELECT
  timestamp,
  EXTRACT(ISOYEAR FROM timestamp) AS isoyear,
  EXTRACT(ISOWEEK FROM timestamp) AS isoweek,
  EXTRACT(YEAR FROM timestamp) AS year,
  EXTRACT(WEEK FROM timestamp) AS week
FROM Timestamps
ORDER BY timestamp;
+------------------------+---------+---------+------+------+
| timestamp              | isoyear | isoweek | year | week |
+------------------------+---------+---------+------+------+
| 2005-01-03 12:34:56+00 | 2005    | 1       | 2005 | 1    |
| 2007-12-31 00:00:00+00 | 2008    | 1       | 2007 | 52   |
| 2009-01-01 00:00:00+00 | 2009    | 1       | 2009 | 0    |
| 2009-12-31 00:00:00+00 | 2009    | 53      | 2009 | 52   |
| 2017-01-02 00:00:00+00 | 2017    | 1       | 2017 | 1    |
| 2017-05-26 00:00:00+00 | 2017    | 21      | 2017 | 21   |
+------------------------+---------+---------+------+------+

Dans l'exemple suivant, timestamp_expression tombe un dimanche. EXTRACT calcule la première colonne à l'aide de semaines commençant le dimanche, et la seconde colonne à l'aide de semaines commençant le lundi.

WITH table AS (SELECT TIMESTAMP('2017-11-05 00:00:00') AS timestamp)
SELECT
  timestamp,
  EXTRACT(WEEK(SUNDAY) FROM timestamp) AS week_sunday,
  EXTRACT(WEEK(MONDAY) FROM timestamp) AS week_monday
FROM table;

+------------------------+-------------+---------------+
| timestamp              | week_sunday | week_monday |
+------------------------+-------------+---------------+
| 2017-11-05 00:00:00+00 | 45          | 44            |
+------------------------+-------------+---------------+

STRING

STRING(timestamp_expression[, timezone])

Description

Convertit une expression timestamp_expression en un type de données STRING. Cette fonction accepte un paramètre (facultatif) permettant de spécifier un fuseau horaire. Consultez la rubrique Définition de fuseaux horaires pour plus d'informations sur la spécification d'un fuseau horaire.

Type de données renvoyé

STRING

Exemple

SELECT STRING(TIMESTAMP "2008-12-25 15:30:00", "America/Los_Angeles") as string;

+-------------------------------+
| string                        |
+-------------------------------+
| 2008-12-25 15:30:00-08        |
+-------------------------------+

TIMESTAMP

1. TIMESTAMP(string_expression[, timezone])
2. TIMESTAMP(date_expression[, timezone])
3. TIMESTAMP(datetime_expression[, timezone])

Description

  1. Convertit une expression STRING en un type de données TIMESTAMP.

  2. Convertit un objet DATE en un type de données TIMESTAMP.

  3. Convertit un objet DATETIME en un type de données TIMESTAMP.

Cette fonction accepte un paramètre (facultatif) permettant de spécifier un fuseau horaire. Si aucun fuseau horaire n'est spécifié, le fuseau horaire par défaut (UTC) est utilisé.

Type de données renvoyé

TIMESTAMP

Exemple

SELECT
  CAST(TIMESTAMP("2008-12-25 15:30:00", "America/Los_Angeles") AS STRING) AS timestamp_str,
  CAST(TIMESTAMP(DATE "2008-12-25", "America/Los_Angeles") AS STRING) AS timestamp_date,
  CAST(TIMESTAMP(DATETIME "2008-12-25 15:30:00", "America/Los_Angeles") AS STRING) AS timestamp_datetime;

+------------------------+------------------------+------------------------+
| timestamp_str          | timestamp_date         | timestamp_datetime     |
+------------------------+------------------------+------------------------+
| 2008-12-25 23:30:00+00 | 2008-12-25 08:00:00+00 | 2008-12-25 23:30:00+00 |
+------------------------+------------------------+------------------------+

TIMESTAMP_ADD

TIMESTAMP_ADD(timestamp_expression, INTERVAL int64_expression date_part)

Description

Ajoute des unités int64_expression de date_part à l'horodatage, indépendamment de tout fuseau horaire.

TIMESTAMP_ADD accepte les valeurs suivantes pour date_part :

  • MICROSECOND
  • MILLISECOND
  • SECOND
  • MINUTE
  • HOUR. Équivaut à 60 minutes (MINUTE).

Types de données renvoyés

TIMESTAMP

Exemple

SELECT
  TIMESTAMP "2008-12-25 15:30:00 UTC" as original,
  TIMESTAMP_ADD(TIMESTAMP "2008-12-25 15:30:00 UTC", INTERVAL 10 MINUTE) AS later;

+------------------------+------------------------+
| original               | later                  |
+------------------------+------------------------+
| 2008-12-25 15:30:00+00 | 2008-12-25 15:40:00+00 |
+------------------------+------------------------+

TIMESTAMP_SUB

TIMESTAMP_SUB(timestamp_expression, INTERVAL int64_expression date_part)

Description

Soustrait des unités int64_expression de date_part de l'horodatage, indépendamment de tout fuseau horaire.

TIMESTAMP_SUB accepte les valeurs suivantes pour date_part :

  • MICROSECOND
  • MILLISECOND
  • SECOND
  • MINUTE
  • HOUR. Équivaut à 60 minutes (MINUTE).

Type de données renvoyé

TIMESTAMP

Exemple

SELECT
  TIMESTAMP "2008-12-25 15:30:00 UTC" as original,
  TIMESTAMP_SUB(TIMESTAMP "2008-12-25 15:30:00 UTC", INTERVAL 10 MINUTE) AS earlier;

+------------------------+------------------------+
| original               | earlier                |
+------------------------+------------------------+
| 2008-12-25 15:30:00+00 | 2008-12-25 15:20:00+00 |
+------------------------+------------------------+

TIMESTAMP_DIFF

TIMESTAMP_DIFF(timestamp_expression, timestamp_expression, date_part)

Description

Renvoie le nombre d'intervalles date_part entiers spécifiés entre deux horodatages. La première expression timestamp_expression représente la date la plus tardive ; si la première timestamp_expression est antérieure à la seconde timestamp_expression, le résultat est négatif. La fonction renvoie une erreur si le calcul excède le type du résultat, par exemple si la différence en nanosecondes entre les deux horodatages dépasse la valeur INT64 maximale possible.

TIMESTAMP_DIFF accepte les valeurs suivantes pour date_part :

  • MICROSECOND
  • MILLISECOND
  • SECOND
  • MINUTE
  • HOUR. Équivaut à 60 minutes (MINUTE).

Type de données renvoyé

INT64

Exemple

SELECT
  TIMESTAMP "2010-07-07 10:20:00 UTC" as later_timestamp,
  TIMESTAMP "2008-12-25 15:30:00 UTC" as earlier_timestamp,
  TIMESTAMP_DIFF(TIMESTAMP "2010-07-07 10:20:00 UTC",
    TIMESTAMP "2008-12-25 15:30:00 UTC", HOUR) AS hours;

+------------------------+------------------------+-------+
| later_timestamp        | earlier_timestamp      | hours |
+------------------------+------------------------+-------+
| 2010-07-07 10:20:00+00 | 2008-12-25 15:30:00+00 | 13410 |
+------------------------+------------------------+-------+

Dans l'exemple suivant, le premier horodatage se produit avant le deuxième, ce qui entraîne un résultat négatif.

SELECT TIMESTAMP_DIFF(TIMESTAMP "2018-08-14", TIMESTAMP "2018-10-14", DAY);

+---------------+
| negative_diff |
+---------------+
| -61           |
+---------------+

TIMESTAMP_TRUNC

TIMESTAMP_TRUNC(timestamp_expression, date_part[, time_zone])

Description

Tronque un horodatage selon le niveau de précision de date_part.

TIMESTAMP_TRUNC accepte les valeurs suivantes pour date_part :

  • MICROSECOND
  • MILLISECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • WEEK(<WEEKDAY>): : tronque l'expression timestamp_expression à la limite de la semaine précédente, où les semaines commencent le WEEKDAY. Les valeurs valides pour WEEKDAY sont SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY et SATURDAY.
  • ISOWEEK : tronque timestamp_expression à la limite de la semaine ISO 8601 précédente. Les semaines ISOWEEK commencent le lundi. La première ISOWEEK de chaque année ISO englobe le premier jeudi de l'année civile grégorienne correspondante. Toute expression date_expression antérieure à celle-ci sera tronquée au lundi précédent.
  • MONTH
  • QUARTER
  • YEAR
  • ISOYEAR : tronque timestamp_expression à la limite de l'année à numérotation de semaine ISO 8601 précédente. La limite de l'année ISO est le lundi de la première semaine où le jeudi appartient à l'année civile grégorienne correspondante.

La fonction TIMESTAMP_TRUNC accepte un paramètre time_zone (facultatif). Ce paramètre s'applique aux date_parts suivants :

  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • WEEK(<WEEKDAY>)
  • MONTH
  • QUARTER
  • YEAR

Utilisez ce paramètre si vous souhaitez utiliser un fuseau horaire différent de celui par défaut (UTC) dans le cadre de l'opération de troncation.

Lorsqu'une valeur TIMESTAMP est tronquée à la minute (MINUTE) ou à l'heure (HOUR), TIMESTAMP_TRUNC détermine l'heure civile de TIMESTAMP dans le fuseau horaire spécifié (ou par défaut) et soustrait les minutes et les secondes (si l'horodatage est tronqué à l'heure) ou les secondes (s'il est tronqué à la minute) de cet horodatage TIMESTAMP. Bien que cette méthode fournisse un résultat intuitif dans la plupart des cas, celui-ci peut toutefois l'être nettement moins lors du passage aux horaires d'été qui ne sont pas alignés sur l'heure.

Type de données renvoyé

TIMESTAMP

Exemples

SELECT
  TIMESTAMP_TRUNC(TIMESTAMP '2008-12-25 15:30:00', DAY, 'UTC') as utc,
  TIMESTAMP_TRUNC(TIMESTAMP '2008-12-25 15:30:00', DAY, 'America/Los_Angeles') as la;

+------------------------+------------------------+
| utc                    | la                     |
+------------------------+------------------------+
| 2008-12-25 00:00:00+00 | 2008-12-25 08:00:00+00 |
+------------------------+------------------------+

Dans l'exemple suivant, timestamp_expression présente un décalage de fuseau horaire de +12. La première colonne indique l'expression timestamp_expression dans le fuseau horaire UTC. La deuxième colonne indique le résultat de la fonction TIMESTAMP_TRUNC utilisant des semaines qui commencent le lundi. Étant donné que timestamp_expression tombe un dimanche (UTC), TIMESTAMP_TRUNC tronque cette expression au lundi précédent. La troisième colonne indique la même fonction avec l'argument facultatif de définition de fuseau horaire "Pacific/Auckland". Ici, la fonction tronque timestamp_expression en utilisant le fuseau horaire Heure avancée de la Nouvelle-Zélande, où elle tombe un lundi.

SELECT
  timestamp,
  TIMESTAMP_TRUNC(timestamp, WEEK(MONDAY)) AS utc_truncated,
  TIMESTAMP_TRUNC(timestamp, WEEK(MONDAY), 'Pacific/Auckland') AS nzdt_truncated
FROM (SELECT TIMESTAMP('2017-11-06 00:00:00+12') AS timestamp);

+------------------------+------------------------+------------------------+
| timestamp              | utc_truncated          | nzdt_truncated         |
+------------------------+------------------------+------------------------+
| 2017-11-05 12:00:00+00 | 2017-10-30 07:00:00+00 | 2017-11-05 11:00:00+00 |
+------------------------+------------------------+------------------------+

Dans l'exemple suivant, l'expression timestamp_expression d'origine se trouve dans l'année civile grégorienne 2015. En revanche, TIMESTAMP_TRUNC avec la partie de date ISOYEAR tronque timestamp_expression au début de l'année ISO, et non de l'année civile grégorienne. Le premier jeudi de l'année civile 2015 était le 2015-01-01, donc l'année ISO 2015 commence le lundi précédent, soit le 2014-12-29. Par conséquent, la limite de l'année ISO précédant l'expression timestamp_expression 2015-06-15 00:00:00+00 est le 2014-12-29.

SELECT
  TIMESTAMP_TRUNC('2015-06-15 00:00:00+00', ISOYEAR) AS isoyear_boundary,
  EXTRACT(ISOYEAR FROM TIMESTAMP '2015-06-15 00:00:00+00') AS isoyear_number;

+------------------------+----------------+
| isoyear_boundary       | isoyear_number |
+------------------------+----------------+
| 2014-12-29 00:00:00+00 | 2015           |
+------------------------+----------------+

FORMAT_TIMESTAMP

FORMAT_TIMESTAMP(format_string, timestamp[, time_zone])

Description

Formate un horodatage en fonction de la chaîne de format (format_string) spécifiée.

Consultez la section Éléments de format acceptés pour TIMESTAMP pour obtenir une liste des éléments de format acceptés par cette fonction.

Type de données renvoyé

STRING

Exemple

SELECT FORMAT_TIMESTAMP("%c", TIMESTAMP "2008-12-25 15:30:00", "America/Los_Angeles")
  AS formatted;

+--------------------------+
| formatted                |
+--------------------------+
| Thu Dec 25 07:30:00 2008 |
+--------------------------+

PARSE_TIMESTAMP

PARSE_TIMESTAMP(format_string, string[, time_zone])

Description

Utilise une chaîne de format (format_string) et la représentation d'un horodatage sous forme de chaîne pour renvoyer un objet TIMESTAMP.

Lorsque vous utilisez PARSE_TIMESTAMP, tenez compte des points suivants :

  • Champs non spécifiés : tout champ non spécifié est initialisé à compter de 1970-01-01 00:00:00.0. Cette valeur d'initialisation utilise le fuseau horaire spécifié par l'argument "time zone" de la fonction, si ce dernier est présent. Dans le cas contraire, la valeur d'initialisation utilise le fuseau horaire par défaut (UTC). Par exemple, si l'année n'est pas spécifiée, la valeur par défaut 1970 est utilisée, et ainsi de suite.
  • Noms qui ne sont pas sensibles à la casse : certains noms (tels que Monday, February, etc.) ne sont pas sensibles à la casse.
  • Espace blanc : un ou plusieurs espaces blancs consécutifs dans la chaîne de format correspondent à zéro ou plusieurs espaces blancs consécutifs dans la chaîne d'horodatage. En outre, les espaces blancs au début et à la fin de la chaîne d'horodatage sont toujours autorisés, même s'ils ne figurent pas dans la chaîne de format.
  • Priorité de format : lorsque deux (ou plus de deux) éléments de format incluent des informations qui se chevauchent (par exemple, %F et %Y affectent tous deux l'année), le dernier d'entre eux remplace généralement les éléments précédents, à quelques exceptions près (reportez-vous aux descriptions de %s, %C et %y).

Consultez la section Éléments de format acceptés pour TIMESTAMP pour obtenir une liste des éléments de format acceptés par cette fonction.

Type de données renvoyé

TIMESTAMP

Exemple

SELECT PARSE_TIMESTAMP("%c", "Thu Dec 25 07:30:00 2008", "America/Los_Angeles") as parsed;

+-------------------------+
| parsed                  |
+-------------------------+
| 2008-12-25 15:30:00 UTC |
+-------------------------+

TIMESTAMP_SECONDS

TIMESTAMP_SECONDS(int64_expression)

Description

Interprète int64_expression comme le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (1970-01-01 00:00:00 UTC).

Type de données renvoyé

TIMESTAMP

Exemple

SELECT TIMESTAMP_SECONDS(1230219000) as timestamp;

+-------------------------+
| timestamp               |
+-------------------------+
| 2008-12-25 15:30:00 UTC |
+-------------------------+

TIMESTAMP_MILLIS

TIMESTAMP_MILLIS(int64_expression)

Description

Interprète int64_expression comme le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (1970-01-01 00:00:00 UTC).

Type de données renvoyé

TIMESTAMP

Exemple

SELECT TIMESTAMP_MILLIS(1230219000000) as timestamp;

+-------------------------+
| timestamp               |
+-------------------------+
| 2008-12-25 15:30:00 UTC |
+-------------------------+

TIMESTAMP_MICROS

TIMESTAMP_MICROS(int64_expression)

Description

Interprète int64_expression comme le nombre de microsecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (1970-01-01 00:00:00 UTC).

Type de données renvoyé

TIMESTAMP

Exemple

SELECT TIMESTAMP_MICROS(1230219000000000) as timestamp;

+-------------------------+
| timestamp               |
+-------------------------+
| 2008-12-25 15:30:00 UTC |
+-------------------------+

UNIX_SECONDS

UNIX_SECONDS(timestamp_expression)

Description

Renvoie le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (1970-01-01 00:00:00 UTC). Tronque les niveaux de précision les plus élevés.

Type de données renvoyé

INT64

Exemple

SELECT UNIX_SECONDS(TIMESTAMP "2008-12-25 15:30:00") as seconds;

+------------+
| seconds    |
+------------+
| 1230219000 |
+------------+

UNIX_MILLIS

UNIX_MILLIS(timestamp_expression)

Description

Renvoie le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (1970-01-01 00:00:00 UTC). Tronque les niveaux de précision les plus élevés.

Type de données renvoyé

INT64

Exemple

SELECT UNIX_MILLIS(TIMESTAMP "2008-12-25 15:30:00 UTC") as millis;

+---------------+
| millis        |
+---------------+
| 1230219000000 |
+---------------+

UNIX_MICROS

UNIX_MICROS(timestamp_expression)

Description

Renvoie le nombre de microsecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (1970-01-01 00:00:00 UTC). Tronque les niveaux de précision les plus élevés.

Type de données renvoyé

INT64

Exemple

SELECT UNIX_MICROS(TIMESTAMP "2008-12-25 15:30:00") as micros;

+------------------+
| micros           |
+------------------+
| 1230219000000000 |
+------------------+

Éléments de format acceptés pour TIMESTAMP

Sauf indication contraire, les fonctions d'horodatage utilisant des chaînes de format acceptent les éléments suivants :

Élément de format Description
%A Nom complet du jour de la semaine.
%a Nom du jour de la semaine sous forme abrégée.
%B Nom complet du mois.
%b ou %h Nom du mois sous forme abrégée.
%C Siècle (une année divisée par 100 et tronquée pour obtenir un entier) sous forme de nombre décimal (00-99).
%c Représentation de la date et de l'heure.
%D Date au format %m/%d/%y.
%d Jour du mois sous forme de nombre décimal (01-31).
%e Jour du mois sous forme de nombre décimal (1-31) ; les valeurs à un seul chiffre (1-9) sont précédées d'une espace.
%F Date au format %Y-%m-%d.
%G Année ISO 8601 (avec le siècle) sous forme de nombre décimal. Chaque année ISO commence le lundi précédant le premier jeudi de l'année civile grégorienne. Notez que %G et %Y peuvent produire des résultats différents près des limites de l'année grégorienne, où celle-ci et l'année ISO peuvent diverger.
%g Année ISO 8601 (sans le siècle) sous forme de nombre décimal (00-99). Chaque année ISO commence le lundi précédant le premier jeudi de l'année civile grégorienne. Notez que %g et %y peuvent produire des résultats différents près des limites de l'année grégorienne, où celle-ci et l'année ISO peuvent diverger.
%H Heure (format 24 heures) sous forme de nombre décimal (00-23).
%I Heure (format 12 heures) sous forme de nombre décimal (01-12).
%j Jour de l'année sous forme de nombre décimal (001-366).
%k Heure (format 24 heures) sous forme de nombre décimal (0-23) ; les valeurs à un seul chiffre sont précédées d'une espace.
%l Heure (format 12 heures) sous forme de nombre décimal (1-12) ; les valeurs à un seul chiffre sont précédées d'une espace.
%M Minutes sous forme de nombre décimal (00-59).
%m Mois sous forme de nombre décimal (01-12).
%n Caractère de nouvelle ligne.
%P am ou pm.
%p AM ou PM.
%R Heure au format %H:%M.
%r Heure au format 12 heures (avec notation AM/PM).
%S Secondes sous forme de nombre décimal (00-60).
%s Nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (1970-01-01 00:00:00 UTC). Remplace systématiquement tous les autres éléments de format, indépendamment de l'endroit où %s apparaît dans la chaîne. Si plusieurs éléments %s apparaissent, le dernier est prioritaire.
%T Heure au format %H:%M:%S.
%t Caractère de tabulation.
%U Numéro de la semaine dans l'année (dimanche considéré comme premier jour de la semaine) sous forme de nombre décimal (00-53).
%u Jour de la semaine (lundi considéré comme premier jour de la semaine) sous forme de nombre décimal (1-7).
%V Numéro de la semaine dans l'année (lundi considéré comme premier jour de la semaine) sous forme de nombre décimal (01-53). Si la semaine du 1er janvier compte quatre jours ou plus dans la nouvelle année, elle est considérée comme la semaine 1. Dans le cas contraire, elle est considérée comme semaine 53 de l'année précédente et la semaine qui suit est la semaine 1.
%W Numéro de la semaine dans l'année (lundi considéré comme premier jour de la semaine) sous forme de nombre décimal (00-53).
%w Jour de la semaine (dimanche considéré comme premier jour de la semaine) sous forme de nombre décimal (0-6).
%X Représentation de l'heure au format HH:MM:SS.
%x Représentation de la date au format MM/JJ/AA.
%Y Année (avec le siècle) sous forme de nombre décimal.
%y Année (sans le siècle) sous forme de nombre décimal (00-99), le premier zéro est facultatif. Peut être associé à %C. Si %C n'est pas spécifié, les années 00-68 sont considérées comme les années 2000 et les années 69-99 sont les années 1900.
%Z Nom du fuseau horaire.
%z Décalage par rapport au méridien d'origine, au format +HHMM ou -HHMM selon le cas. Les emplacements situés à l'est du méridien de Greenwich sont représentés par des valeurs positives.
%% Caractère % unique.
%Ez Fuseau horaire numérique compatible RFC 3339 (+HH:MM ou -HH:MM).
%E#S Secondes avec # chiffres de précision fractionnelle.
%E*S Secondes avec précision fractionnelle complète (littéral '*').
%E4Y Années sous forme de nombres à quatre caractères (0001 ... 9999). Notez que %Y produit autant de caractères que nécessaire pour un rendu complet de l'année.

Définition de fuseaux horaires

Certaines fonctions de date et d'horodatage vous permettent d'ignorer le fuseau horaire par défaut et d'en spécifier un autre. Vous pouvez spécifier un fuseau horaire en indiquant son décalage UTC au format suivant :

(+|-)H[H][:M[M]]

Exemple :

-08:00
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.