-
Notifications
You must be signed in to change notification settings - Fork 50
Time Zone Detection
Stat.ink estimates your time zone on your first access.
The estimation is done in the following order:
-
(Restore time zone from cookie)
-
Estimate the current location from the IP address.
It also estimates the time zone of the location.
The GeoIP library is used for this. -
Select the time zone according to the display language of the application.
The display language of the application is obtained from the browser (and/or OS) settings.
By using the GeoIP library, we can estimate your approximate address from your IP address.
(Note: The address we can obtain here is up to the municipal level, and we will never know your actual location.)
For example, from IP address that assigned to author's home, we can get “Takatsuki, Osaka, Japan, Asia” (34.8586N 135.6061E ± 500km/310mi) with “Asia/Tokyo” time zone. This is just enough accuracy to estimate the time zone, but it is about 10km/6mi away from the home.
If the time zone estimated by GeoIP is “our known time zone”, it will be used as it is. These include Asia/Tokyo, America/New_York, and Europe/Paris.
| IANA Identifier | stat.ink's display name |
|---|---|
| America/Argentina/Buenos_Aires | Argentina |
| Australia/Adelaide | Australia (Central) |
| Australia/Darwin | Australia (Central, DST) |
| Australia/Brisbane | Australia (East) |
| Australia/Sydney | Australia (East, DST) |
| Australia/Perth | Australia (West) |
| America/Belize | Belize |
| America/La_Paz | Bolivia |
| America/Sao_Paulo | Brazil (Brasilia) |
| America/Manaus | Brazil (Eastern Amazonas) |
| America/Noronha | Brazil (Fernando de Noronha) |
| America/Cuiaba | Brazil (Mato Grosso) |
| America/Fortaleza | Brazil (Northeastern) |
| America/Eirunepe | Brazil (Western Amazonas) |
| America/Santiago | Chile |
| Pacific/Easter | Chile (Easter Island) |
| America/Punta_Arenas | Chile (Magallanes) |
| Asia/Shanghai | China (PRC) |
| America/Bogota | Colombia |
| America/Costa_Rica | Costa Rica |
| America/Guayaquil | Ecuador |
| America/El_Salvador | El Salvador |
| Europe/Paris | Europe (Central) |
| Europe/Athens | Europe (East) |
| Europe/London | Europe (West) |
| Pacific/Guam | Guam |
| America/Guatemala | Guatemala |
| America/Guyana | Guyana |
| Pacific/Honolulu | Hawaii |
| America/Tegucigalpa | Honduras |
| Asia/Tokyo | Japan |
| Asia/Seoul | Korea |
| Australia/Lord_Howe | Lord Howe Island |
| America/Mexico_City | Mexico (Central) |
| America/Cancun | Mexico (East) |
| America/Tijuana | Mexico (Northwest) |
| America/Mazatlan | Mexico (Pacific) |
| America/Hermosillo | Mexico (Sonora) |
| America/Managua | Nicaragua |
| America/Adak | North America (Adak) |
| America/Anchorage | North America (Alaska) |
| America/Phoenix | North America (Arizona) |
| America/Halifax | North America (AT) |
| America/Chicago | North America (CT) |
| America/New_York | North America (ET) |
| America/Denver | North America (MT) |
| America/St_Johns | North America (Newfoundland) |
| America/Los_Angeles | North America (PT) |
| America/Regina | North America (Saskatchewan) |
| America/Panama | Panama |
| America/Asuncion | Paraguay |
| America/Lima | Peru |
| Asia/Irkutsk | Russia (Irkutsk) |
| Europe/Kaliningrad | Russia (Kaliningrad) |
| Asia/Kamchatka | Russia (Kamchatka) |
| Asia/Krasnoyarsk | Russia (Krasnoyarsk) |
| Asia/Magadan | Russia (Magadan) |
| Europe/Moscow | Russia (Moscow) |
| Asia/Omsk | Russia (Omsk) |
| Europe/Samara | Russia (Samara) |
| Asia/Vladivostok | Russia (Vladivostok) |
| Asia/Yakutsk | Russia (Yakutsk) |
| Asia/Yekaterinburg | Russia (Yekaterinburg) |
| America/Paramaribo | Suriname |
| Asia/Taipei | Taiwan |
| America/Montevideo | Uruguay |
| America/Caracas | Venezuela |
| Asia/Urumqi | Xinjiang |
Unfortunately, GeoIP returns more than just the time zones listed above.
So, if we don't have, we will guess what's “perhaps correct.”
For example, if GeoIP returns Europe/Berlin, we guess “Central European Time (Europe/Paris).”
Problems such as Russia being selected in Central Asia will occur, but it will often work.
Minor daylight saving time (summer time) rules can cause minor problems.
In either case, you can require the administrator to add a time zone configuration.
If the system cannot find a substitutable time zone, the system may adopt an “offset from UTC” such as Etc/UTC-9.
In this format, 30 minutes offset can not be expressed. We will be required to add a new time zone.
The rule above should determine the time zone in almost all cases, but it is a mechanism provided just in case.
The system sets the following time zone according to the specified or detected language:
| Language | Time zone |
|---|---|
| Deutsch | Europe/Paris |
| English (UK) | Europe/London |
| English (US) | America/Los_Angeles |
| Español (ES) | Europe/Paris |
| Español (MX) | America/Mexico_City |
| Français (FR) | Europe/Paris |
| Français (CA) | America/New_York |
| Italiano | Europe/Paris |
| Nederlands | Europe/Paris |
| Русский | Europe/Moscow |
| 日本語 | Asia/Tokyo |
This is a last resort.
If necessary, you can request us to add a time zone.
Typically, there is no suitable time zone or when special daylight savings time (summer time) responses are required.
We are not as detailed as you about the time zones of your country.
Please tell us about your country's time zones.
- Region in the world (e.g. “East Asia”, “North America”)
- Country (or region) Name (e.g. “Japan”, “United States”)
- Time zones (please tell us all time zones if possible if divided into multiple TZs.)
- Name (e.g. “Japan”, “Pacific Time”, “Arizona”)
- IANA Time zone identifier (e.g. “Asia/Tokyo”, “America/Los_Angeles”, “America/Phoenix”)