web-dev-qa-db-fra.com

Existe-t-il une différence entre les fuseaux horaires UTC et Etc/UTC?

Dans la documentation PHP, la liste des fuseaux horaires pris en charge , UTC est répertoriée deux fois:

  • UTC
  • Etc/UTC

Existe-t-il une différence conceptuelle entre ces deux-là ou s'agit-il simplement de synonymes?

39
Benjamin

Etc/UTC est le fuseau horaire spécifié dont le nom d'affichage est UTC. En d'autres termes, il s'agit de noms longs et courts pour le même fuseau horaire, par base de données de fuseaux horaires de l'IANA .

26
David Schwartz

Tout d'abord, pour répondre à la question:
Il n’ya AUCUNE différence entre les fuseaux horaires UTC et Etc/UTC.

Etc/UTC est un fuseau horaire de la base de données Olson-timezone ( tz database ), également appelé IANA-timezones-database , dans lequel tous les fuseaux horaires sont conformes à la convention d'appellation uniforme: Area/Location.

Certains fuseaux horaires ne pouvant être attribués à aucune région du monde (par exemple, des continents ou des océans), la zone spéciale Etc ( Etcetera ) a été introduite. Cela s'applique principalement aux fuseaux horaires administratifs tels que UTC.
Ainsi, conformément à la convention de dénomination, le temps universel coordonné (zone) est nommé Etc/UTC dans la base de données tz.

Pour les fuseaux horaires administratifs autres que UTC (par exemple, GMT+4, GMT-8), la base de données tz utilise les signes de style POSIX dans les noms de zone. POSIX a des signes positifs pour les zones situées derrière Greenwich (ouest de Greenwich) et des signes négatifs pour les zones situées en avant de Greenwich (est de Greenwich).

Les signes de style POSIX dans les fuseaux horaires sont à l’opposé de la définition des fuseaux horaires dans le système actuel et largement répandu ISO 8601 . Dans le format de fuseau horaire ISO 8601, des signes négatifs indiquent qu’une zone se trouve derrière l’UTC (ouest de Greenwich) et des signes positifs indiquent qu’une zone est en avance sur UTC (à l’est de Greenwich). C'est ce qui est devenu l'usage standard de nos jours.

Les raisons possibles de la définition opposée dans POSIX sont les suivantes:

  • POSIX fait partie d'UNIX, qui a été développé aux États-Unis, derrière UTC (à l'ouest de Greenwich). Le format POSIX permet aux fuseaux horaires américains d’être représentés comme EST5, PST8, c’est-à-dire en omettant le signe (+).
  • Habituellement, les programmes informatiques et les systèmes d'exploitation font tout en interne en heure UTC. Avec les signes de style POSIX, vous pouvez ajouter l'heure et le fuseau horaire afin d'obtenir l'heure UTC. Exemple: "03:30 PST8" ou "03:30 GMT + 8" signifie qu'il s'agit de "11:30 UTC".
28
Andreas Rayo Kniep

ETC/GMT + 4 est identique à GMT-4.

public static void main(String[] args) {
    TimeZone tz = TimeZone.getTimeZone("Etc/GMT-7");
    System.out.println(tz);

    tz = TimeZone.getTimeZone("GMT+7");
    System.out.println(tz);

}

Vous pouvez le tester vous-même.

Mais je ne sais pas ce que signifie ETC ..

0
arganzheng