php / php/php-src

Evalute U-timestamp in createFromFormat as GMT timestamp

Ouverte
#16,277 8 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Extension: date Status: Needs Triage
Langage dominant
C
Étoiles
40.4k
Forks
8.2k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

Description

The following code:

<?php
echo DateTime::createFromFormat('U e', '1730597400 America/Toronto')->format('U');

Resulted in this output:

1730615400

It's 5 hours more than the input timestamp.

But I expected this output instead:

1730597400

The difference matches the timezone offset.

But documentation on createFromFormat about U says:

Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)

GMT is specified, so I expect the timestamp to be constant whatever is the timezone.

I.E. I expect DateTime::createFromFormat('U e', '1730597400 America/Toronto') to be equivalent to:

$date = DateTime::createFromFormat('U', '1730597400');
$date->setTimezone(new DateTimeZone('America/Toronto'));
PHP Version

PHP 8.3.12

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire l’exemple DateTime::createFromFormat('U e', ...) de l’issue et comparez-le au comportement documenté de GMT pour U. Suivez le point d’entrée de createFromFormat et déterminez si l’implémentation ou la documentation doit être ajustée ; le travail est terminé lorsque l’écart de décalage de fuseau horaire signalé est résolu et couvert par une vérification.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.