Saya sedang mengerjakan sistem yang perlu menangani catatan dalam database yang melibatkan serangkaian periode yang sangat lama, dan saya berakhir dengan masalah terkait zona waktu.
Dari pencarian saya, hanya ada zona waktu yang memiliki nilai 00, 30 atau 45 dalam satuan menit (https://www.timeanddate.com/time/time-zones-interesting.html). Namun, ketika kita akan menguraikan tanggal-tanggal yang sangat lama, nampaknya zona waktu digeser dengan cara tertentu, mungkin dalam upaya untuk mengoreksi waktu.
Kode:
<?php
$timezones = timezone_identifiers_list();
foreach ($timezones as $k => $tz) {
date_default_timezone_set($tz);
echo $tz . ' - ' . \DateTime::createFromFormat('Y-m-d H:i:s', '1900-01-01 00:00:00')->format(DATE_ATOM) . PHP_EOL;
}
Beberapa contoh pengembalian:
- Afrika/Addis_Ababa - 01-01-1900T00:00:00+02:27
- Amerika/Argentina/San_Luis - 01-01-1900T00:00:00-04:16
- Amerika/Bahia_Banderas - 01-01-1900T00:00:00-07:01
- Amerika/Sao_Paulo - 01-01-1900T00:00:00-03:06
- Asia/Kuala_Lumpur - 01-01-1900T00:00:00+06:46
- Eropa/Athena - 01-01-1900T00:00:00+01:34
- Eropa/Dublin - 01-01-1900T00:00:00-00:25
Adakah yang bisa memberi tahu kami apa yang terjadi??
Terima kasih!