DateTimeImmutable::createFromTimestamp() uses UTC timezone
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- php
- Ambito
- documentation
Direzione di ricerca
Inizia dalla pagina del manuale interessata di DateTimeImmutable::createFromTimestamp() ed esamina la descrizione e gli esempi esistenti. Documenta che il metodo usa UTC e includi la soluzione alternativa proposta per il fuso orario predefinito, quindi verifica che la pagina rifletta chiaramente il comportamento dimostrato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Affected page
https://www.php.net/manual/en/datetimeimmutable.createfromtimestamp.php
Current issue
It is not documented that createFromTimestamp() sets the timezone to UTC. Which is unexpected, because the absence of a timezone normally uses date_default_timezone_get().
Suggested improvement
-
Document the unexpected UTC timezone.
-
Document the (very ugly) workaround
DateTimeImmutable::createFromTimestamp($someTimestamp)->setTimezone(new DateTimeZone(date_default_timezone_get()));
Additional context (optional)
I created a test at https://3v4l.org/d3Rq1#v8.5.7 which demonstrates the current behaviour.
<?php
if (!date_default_timezone_set('Europe/Amsterdam')) {
throw new Exception('Timezone Europe/Amsterdam does not exist?');
}
echo 'Default timezone: '.date_default_timezone_get().PHP_EOL;
var_dump(new DateTimeZone(date_default_timezone_get()));
$someTimestamp = strtotime('2026-07-03 14:22:17');
echo '--- date'.PHP_EOL;
echo date('Y-m-d H:i:s', $someTimestamp).PHP_EOL;
echo '--- DateTimeImmutable::createFromTimestamp() defaults to UTC timezone'.PHP_EOL;
$dt = DateTimeImmutable::createFromTimestamp($someTimestamp);
echo $dt->format('Y-m-d H:i:s').PHP_EOL;
var_dump($dt->getTimezone());
echo '--- DateTimeImmutable::createFromTimestamp() workaround for current timezone'.PHP_EOL;
$dt = DateTimeImmutable::createFromTimestamp($someTimestamp)->setTimezone(new DateTimeZone(date_default_timezone_get()));
echo $dt->format('Y-m-d H:i:s').PHP_EOL;
var_dump($dt->getTimezone());
outputs:
Default timezone: Europe/Amsterdam
object(DateTimeZone)#1 (2) {
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
--- date
2026-07-03 14:22:17
--- DateTimeImmutable::createFromTimestamp() defaults to UTC timezone
2026-07-03 12:22:17 !!!!!!!! NOTICE THE 2 HOURS DIFFERENCE !!!!!!!!
object(DateTimeZone)#2 (2) {
["timezone_type"]=>
int(1)
["timezone"]=>
string(6) "+00:00"
}
--- DateTimeImmutable::createFromTimestamp() workaround for current timezone
2026-07-03 14:22:17
object(DateTimeZone)#1 (2) {
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
- Lingua principale
- XML
- Stelle
- 602
- Fork
- 904
- Merge medio
- 1g 5h
- PR unite (30g)
- 81
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di php/doc-en
-
SID is deprecatedForse già presa @jordikroon l’ha presa 8 giorni fa. Apertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
php/doc-en#5937 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Files still using &warn.undocumented.func;Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertahelp wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
php/doc-en#5786 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
php/doc-en#5765 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
8.6 Extension: mysqli
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
php/doc-en#5727 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
phivk/rubiks-lab#33 ·
I maintainer di solito rispondono entro 1 giorno
-
sync-en
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
sync-en
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
[oblt-aw][autodoc] Fix malformed headings in new Buildkite docs pagesForse già presa @github-actions l’ha presa oggi. Apertadocumentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
Перевод устарел
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100