mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Use POSIX version of version.c.
This commit is contained in:
parent
f0f1bf8536
commit
d0045e79eb
21
interp.c
Normal file
21
interp.c
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/* interp - add information about dynamic loader to shared libray obejcts.
|
||||||
|
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public License as
|
||||||
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||||
|
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp")))
|
||||||
|
= RUNTIME_LINKER;
|
2
sysdeps/unix/sysv/linux/system.c
Normal file
2
sysdeps/unix/sysv/linux/system.c
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* Linux has waitpid(), so override the generic unix version. */
|
||||||
|
#include <sysdeps/posix/system.c>
|
152
time/checktab.awk
Normal file
152
time/checktab.awk
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
# Check tz tables for consistency.
|
||||||
|
|
||||||
|
# Contributed by Paul Eggert <eggert@twinsun.com>.
|
||||||
|
|
||||||
|
BEGIN {
|
||||||
|
FS = "\t"
|
||||||
|
|
||||||
|
if (!iso_table) iso_table = "iso3166.tab"
|
||||||
|
if (!zone_table) zone_table = "zone.tab"
|
||||||
|
if (!want_warnings) want_warnings = -1
|
||||||
|
|
||||||
|
while (getline <iso_table) {
|
||||||
|
iso_NR++
|
||||||
|
if ($0 ~ /^#/) continue
|
||||||
|
if (NF != 2) {
|
||||||
|
printf "%s:%d: wrong number of columns\n",
|
||||||
|
iso_table, iso_NR >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
cc = $1
|
||||||
|
name = $2
|
||||||
|
if (cc !~ /^[A-Z][A-Z]$/) {
|
||||||
|
printf "%s:%d: invalid country code `%s'\n", \
|
||||||
|
iso_table, iso_NR, cc >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
if (cc <= cc0) {
|
||||||
|
printf "%s:%d: country code `%s' is %s\n", \
|
||||||
|
iso_table, iso_NR, cc, \
|
||||||
|
cc==cc0 ? "duplicate" : "out of order" \
|
||||||
|
>>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
cc0 = cc
|
||||||
|
if (name2cc[name]) {
|
||||||
|
printf "%s:%d: `%s' and `%s' have the sname name\n", \
|
||||||
|
iso_table, iso_NR, name2cc[name], cc \
|
||||||
|
>>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
name2cc[name] = cc
|
||||||
|
cc2name[cc] = name
|
||||||
|
cc2NR[cc] = iso_NR
|
||||||
|
}
|
||||||
|
|
||||||
|
zone_table = "zone.tab"
|
||||||
|
cc0 = ""
|
||||||
|
|
||||||
|
while (getline <zone_table) {
|
||||||
|
zone_NR++
|
||||||
|
if ($0 ~ /^#/) continue
|
||||||
|
if (NF != 3 && NF != 4) {
|
||||||
|
printf "%s:%d: wrong number of columns\n",
|
||||||
|
zone_table, zone_NR >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
cc = $1
|
||||||
|
coordinates = $2
|
||||||
|
tz = $3
|
||||||
|
comments = $4
|
||||||
|
if (cc < cc0) {
|
||||||
|
printf "%s:%d: country code `%s' is out of order\n", \
|
||||||
|
zone_table, zone_NR, cc >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
cc0 = cc
|
||||||
|
if (tz2cc[tz]) {
|
||||||
|
printf "%s:%d: %s: duplicate TZ column\n", \
|
||||||
|
zone_table, zone_NR, tz >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
tz2cc[tz] = cc
|
||||||
|
tz2comments[tz] = comments
|
||||||
|
tz2NR[tz] = zone_NR
|
||||||
|
if (cc2name[cc]) {
|
||||||
|
cc_used[cc]++
|
||||||
|
} else {
|
||||||
|
printf "%s:%d: %s: unknown country code\n", \
|
||||||
|
zone_table, zone_NR, cc >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
if (coordinates !~ /^[-+][0-9][0-9][0-5][0-9][-+][01][0-9][0-9][0-5][0-9]$/ \
|
||||||
|
&& coordinates !~ /^[-+][0-9][0-9][0-5][0-9][0-5][0-9][-+][01][0-9][0-9][0-5][0-9][0-5][0-9]$/) {
|
||||||
|
printf "%s:%d: %s: invalid coordinates\n", \
|
||||||
|
zone_table, zone_NR, coordinates >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (tz in tz2cc) {
|
||||||
|
if (cc_used[tz2cc[tz]] == 1) {
|
||||||
|
if (tz2comments[tz]) {
|
||||||
|
printf "%s:%d: unnecessary comment `%s'\n", \
|
||||||
|
zone_table, tz2NR[tz], tz2comments[tz] \
|
||||||
|
>>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!tz2comments[tz]) {
|
||||||
|
printf "%s:%d: missing comment\n", \
|
||||||
|
zone_table, tz2NR[tz] >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FS = " "
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
tz = ""
|
||||||
|
if ($1 == "Zone") tz = $2
|
||||||
|
if ($1 == "Link") {
|
||||||
|
# Ignore Link commands if source and destination basenames
|
||||||
|
# are identical, e.g. Europe/Istanbul versus Asia/Istanbul.
|
||||||
|
src = $2
|
||||||
|
dst = $3
|
||||||
|
while ((i = index(src, "/"))) src = substr(src, i+1)
|
||||||
|
while ((i = index(dst, "/"))) dst = substr(dst, i+1)
|
||||||
|
if (src != dst) tz = $3
|
||||||
|
}
|
||||||
|
if (tz && tz ~ /\//) {
|
||||||
|
if (!tz2cc[tz]) {
|
||||||
|
printf "%s: no data for `%s'\n", zone_table, tz \
|
||||||
|
>>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
zoneSeen[tz] = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
END {
|
||||||
|
for (tz in tz2cc) {
|
||||||
|
if (!zoneSeen[tz]) {
|
||||||
|
printf "%s:%d: no Zone table for `%s'\n", \
|
||||||
|
zone_table, tz2NR[tz], tz >>"/dev/stderr"
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (0 < want_warnings) {
|
||||||
|
for (cc in cc2name) {
|
||||||
|
if (!cc_used[cc]) {
|
||||||
|
printf "%s:%d: warning:" \
|
||||||
|
"no Zone entries for %s (%s)\n",
|
||||||
|
iso_table, cc2NR[cc], cc, cc2name[cc]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit status
|
||||||
|
}
|
254
time/iso3166.tab
Normal file
254
time/iso3166.tab
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
# ISO 3166 2-letter country codes
|
||||||
|
#
|
||||||
|
# From Paul Eggert <eggert@twinsun.com> (1996-09-03):
|
||||||
|
#
|
||||||
|
# This file contains a table with the following columns:
|
||||||
|
# 1. ISO 3166 2-character country code.
|
||||||
|
# 2. The usual English name for the country,
|
||||||
|
# chosen so that alphabetic sorting of subsets produces helpful lists.
|
||||||
|
#
|
||||||
|
# Columns are separated by a single tab.
|
||||||
|
# The table is sorted by country code.
|
||||||
|
#
|
||||||
|
# Lines beginning with `#' are comments.
|
||||||
|
#
|
||||||
|
#country-
|
||||||
|
#code country name
|
||||||
|
AD Andorra
|
||||||
|
AE United Arab Emirates
|
||||||
|
AF Afghanistan
|
||||||
|
AG Antigua & Barbuda
|
||||||
|
AI Anguilla
|
||||||
|
AL Albania
|
||||||
|
AM Armenia
|
||||||
|
AN Netherlands Antilles
|
||||||
|
AO Angola
|
||||||
|
AQ Antarctica
|
||||||
|
AR Argentina
|
||||||
|
AS Samoa (American)
|
||||||
|
AT Austria
|
||||||
|
AU Australia
|
||||||
|
AW Aruba
|
||||||
|
AZ Azerbaijan
|
||||||
|
BA Bosnia & Herzegovina
|
||||||
|
BB Barbados
|
||||||
|
BD Bangladesh
|
||||||
|
BE Belgium
|
||||||
|
BF Burkina Faso
|
||||||
|
BG Bulgaria
|
||||||
|
BH Bahrain
|
||||||
|
BI Burundi
|
||||||
|
BJ Benin
|
||||||
|
BM Bermuda
|
||||||
|
BN Brunei
|
||||||
|
BO Bolivia
|
||||||
|
BR Brazil
|
||||||
|
BS Bahamas
|
||||||
|
BT Bhutan
|
||||||
|
BV Bouvet Island
|
||||||
|
BW Botswana
|
||||||
|
BY Belarus
|
||||||
|
BZ Belize
|
||||||
|
CA Canada
|
||||||
|
CC Cocos (Keeling) Islands
|
||||||
|
CF Central African Rep.
|
||||||
|
CG Congo
|
||||||
|
CH Switzerland
|
||||||
|
CI Cote d'Ivoire
|
||||||
|
CK Cook Islands
|
||||||
|
CL Chile
|
||||||
|
CM Cameroon
|
||||||
|
CN China
|
||||||
|
CO Colombia
|
||||||
|
CR Costa Rica
|
||||||
|
CU Cuba
|
||||||
|
CV Cape Verde
|
||||||
|
CX Christmas Island
|
||||||
|
CY Cyprus
|
||||||
|
CZ Czech Republic
|
||||||
|
DE Germany
|
||||||
|
DJ Djibouti
|
||||||
|
DK Denmark
|
||||||
|
DM Dominica
|
||||||
|
DO Dominican Republic
|
||||||
|
DZ Algeria
|
||||||
|
EC Ecuador
|
||||||
|
EE Estonia
|
||||||
|
EG Egypt
|
||||||
|
EH Western Sahara
|
||||||
|
ER Eritrea
|
||||||
|
ES Spain
|
||||||
|
ET Ethiopia
|
||||||
|
FI Finland
|
||||||
|
FJ Fiji
|
||||||
|
FK Falkland Islands
|
||||||
|
FM Micronesia
|
||||||
|
FO Faeroe Islands
|
||||||
|
FR France
|
||||||
|
GA Gabon
|
||||||
|
GB Britain (UK)
|
||||||
|
GD Grenada
|
||||||
|
GE Georgia
|
||||||
|
GF French Guiana
|
||||||
|
GH Ghana
|
||||||
|
GI Gibraltar
|
||||||
|
GL Greenland
|
||||||
|
GM Gambia
|
||||||
|
GN Guinea
|
||||||
|
GP Guadeloupe
|
||||||
|
GQ Equatorial Guinea
|
||||||
|
GR Greece
|
||||||
|
GS South Georgia & the South Sandwich Islands
|
||||||
|
GT Guatemala
|
||||||
|
GU Guam
|
||||||
|
GW Guinea-Bissau
|
||||||
|
GY Guyana
|
||||||
|
HK Hong Kong
|
||||||
|
HM Heard Island & McDonald Islands
|
||||||
|
HN Honduras
|
||||||
|
HR Croatia
|
||||||
|
HT Haiti
|
||||||
|
HU Hungary
|
||||||
|
ID Indonesia
|
||||||
|
IE Ireland
|
||||||
|
IL Israel
|
||||||
|
IN India
|
||||||
|
IO British Indian Ocean Territory
|
||||||
|
IQ Iraq
|
||||||
|
IR Iran
|
||||||
|
IS Iceland
|
||||||
|
IT Italy
|
||||||
|
JM Jamaica
|
||||||
|
JO Jordan
|
||||||
|
JP Japan
|
||||||
|
KE Kenya
|
||||||
|
KG Kirgizstan
|
||||||
|
KH Cambodia
|
||||||
|
KI Kiribati
|
||||||
|
KM Comoros
|
||||||
|
KN St Kitts & Nevis
|
||||||
|
KP Korea (North)
|
||||||
|
KR Korea (South)
|
||||||
|
KW Kuwait
|
||||||
|
KY Cayman Islands
|
||||||
|
KZ Kazakhstan
|
||||||
|
LA Laos
|
||||||
|
LB Lebanon
|
||||||
|
LC St Lucia
|
||||||
|
LI Liechtenstein
|
||||||
|
LK Sri Lanka
|
||||||
|
LR Liberia
|
||||||
|
LS Lesotho
|
||||||
|
LT Lithuania
|
||||||
|
LU Luxembourg
|
||||||
|
LV Latvia
|
||||||
|
LY Libya
|
||||||
|
MA Morocco
|
||||||
|
MC Monaco
|
||||||
|
MD Moldova
|
||||||
|
MG Madagascar
|
||||||
|
MH Marshall Islands
|
||||||
|
MK Macedonia
|
||||||
|
ML Mali
|
||||||
|
MM Myanmar (Burma)
|
||||||
|
MN Mongolia
|
||||||
|
MO Macao
|
||||||
|
MP Northern Mariana Islands
|
||||||
|
MQ Martinique
|
||||||
|
MR Mauritania
|
||||||
|
MS Montserrat
|
||||||
|
MT Malta
|
||||||
|
MU Mauritius
|
||||||
|
MV Maldives
|
||||||
|
MW Malawi
|
||||||
|
MX Mexico
|
||||||
|
MY Malaysia
|
||||||
|
MZ Mozambique
|
||||||
|
NA Namibia
|
||||||
|
NC New Caledonia
|
||||||
|
NE Niger
|
||||||
|
NF Norfolk Island
|
||||||
|
NG Nigeria
|
||||||
|
NI Nicaragua
|
||||||
|
NL Netherlands
|
||||||
|
NO Norway
|
||||||
|
NP Nepal
|
||||||
|
NR Nauru
|
||||||
|
NU Niue
|
||||||
|
NZ New Zealand
|
||||||
|
OM Oman
|
||||||
|
PA Panama
|
||||||
|
PE Peru
|
||||||
|
PF French Polynesia
|
||||||
|
PG Papua New Guinea
|
||||||
|
PH Philippines
|
||||||
|
PK Pakistan
|
||||||
|
PL Poland
|
||||||
|
PM St Pierre & Miquelon
|
||||||
|
PN Pitcairn
|
||||||
|
PR Puerto Rico
|
||||||
|
PT Portugal
|
||||||
|
PW Palau
|
||||||
|
PY Paraguay
|
||||||
|
QA Qatar
|
||||||
|
RE Reunion
|
||||||
|
RO Romania
|
||||||
|
RU Russia
|
||||||
|
RW Rwanda
|
||||||
|
SA Saudi Arabia
|
||||||
|
SB Solomon Islands
|
||||||
|
SC Seychelles
|
||||||
|
SD Sudan
|
||||||
|
SE Sweden
|
||||||
|
SG Singapore
|
||||||
|
SH St Helena
|
||||||
|
SI Slovenia
|
||||||
|
SJ Svalbard & Jan Mayen
|
||||||
|
SK Slovakia
|
||||||
|
SL Sierra Leone
|
||||||
|
SM San Marino
|
||||||
|
SN Senegal
|
||||||
|
SO Somalia
|
||||||
|
SR Suriname
|
||||||
|
ST Sao Tome & Principe
|
||||||
|
SV El Salvador
|
||||||
|
SY Syria
|
||||||
|
SZ Swaziland
|
||||||
|
TC Turks & Caicos Is
|
||||||
|
TD Chad
|
||||||
|
TF French Southern & Antarctic Lands
|
||||||
|
TG Togo
|
||||||
|
TH Thailand
|
||||||
|
TJ Tajikistan
|
||||||
|
TK Tokelau
|
||||||
|
TM Turkmenistan
|
||||||
|
TN Tunisia
|
||||||
|
TO Tonga
|
||||||
|
TP East Timor
|
||||||
|
TR Turkey
|
||||||
|
TT Trinidad & Tobago
|
||||||
|
TV Tuvalu
|
||||||
|
TW Taiwan
|
||||||
|
TZ Tanzania
|
||||||
|
UA Ukraine
|
||||||
|
UG Uganda
|
||||||
|
UM US minor outlying islands
|
||||||
|
US United States
|
||||||
|
UY Uruguay
|
||||||
|
UZ Uzbekistan
|
||||||
|
VA Vatican City
|
||||||
|
VC St Vincent
|
||||||
|
VE Venezuela
|
||||||
|
VG Virgin Islands (UK)
|
||||||
|
VI Virgin Islands (US)
|
||||||
|
VN Vietnam
|
||||||
|
VU Vanuatu
|
||||||
|
WF Wallis & Futuna
|
||||||
|
WS Samoa (Western)
|
||||||
|
YE Yemen
|
||||||
|
YT Mayotte
|
||||||
|
YU Yugoslavia
|
||||||
|
ZA South Africa
|
||||||
|
ZM Zambia
|
||||||
|
ZR Zaire
|
||||||
|
ZW Zimbabwe
|
292
time/tzselect.ksh
Normal file
292
time/tzselect.ksh
Normal file
@ -0,0 +1,292 @@
|
|||||||
|
#! /bin/ksh
|
||||||
|
# Ask the user about the time zone, and output the resulting TZ value to stdout.
|
||||||
|
# Interact with the user via stderr and stdin.
|
||||||
|
|
||||||
|
# Contributed by Paul Eggert <eggert@twinsun.com>.
|
||||||
|
|
||||||
|
# Porting notes:
|
||||||
|
#
|
||||||
|
# This script requires several features of the Korn shell.
|
||||||
|
# If your host lacks the Korn shell,
|
||||||
|
# you can use either of the following free programs instead:
|
||||||
|
#
|
||||||
|
# Bourne-Again shell (bash)
|
||||||
|
# <URL:ftp://prep.ai.mit.edu:/pub/gnu/bash-1.14.7.tar.gz>
|
||||||
|
# (or any later version)
|
||||||
|
#
|
||||||
|
# Public domain ksh
|
||||||
|
# <URL:ftp://ftp.cs.mun.ca:/pub/pdksh/pdksh.tar.gz>
|
||||||
|
#
|
||||||
|
# This script also uses several features of modern awk programs.
|
||||||
|
# If your host lacks awk, or has an old awk that does not conform to Posix.2,
|
||||||
|
# you can use either of the following free programs instead:
|
||||||
|
#
|
||||||
|
# GNU awk (gawk)
|
||||||
|
# <URL:ftp://prep.ai.mit.edu:/pub/gnu/gawk-3.0.0.tar.gz>
|
||||||
|
# (or any later version)
|
||||||
|
#
|
||||||
|
# mawk
|
||||||
|
# <URL:ftp://oxy.edu/public/mawk1.2.2.tar.gz>
|
||||||
|
# (or any later version)
|
||||||
|
|
||||||
|
|
||||||
|
# Specify default values for environment variables if they are unset.
|
||||||
|
: ${AWK=awk}
|
||||||
|
: ${TZDIR=$(pwd)}
|
||||||
|
|
||||||
|
# Check for awk Posix compliance.
|
||||||
|
($AWK -v x=y 'BEGIN { exit 123 }') </dev/null >/dev/null 2>&1
|
||||||
|
[ $? = 123 ] || {
|
||||||
|
echo >&2 "$0: Sorry, your \`$AWK' program is not Posix compatible."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make sure the tables are readable.
|
||||||
|
TZ_COUNTRY_TABLE=$TZDIR/iso3166.tab
|
||||||
|
TZ_ZONE_TABLE=$TZDIR/zone.tab
|
||||||
|
for f in $TZ_COUNTRY_TABLE $TZ_ZONE_TABLE
|
||||||
|
do
|
||||||
|
<$f || {
|
||||||
|
echo >&2 "$0: time zone files are not set up correctly"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
done
|
||||||
|
|
||||||
|
newline='
|
||||||
|
'
|
||||||
|
IFS=$newline
|
||||||
|
|
||||||
|
|
||||||
|
# Work around a bash bug, where $PS3 is sent to stdout.
|
||||||
|
case $(echo 1 | (select x in x; do break; done) 2>/dev/null) in
|
||||||
|
?*) PS3=
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
# Begin the main loop. We come back here if the user wants to retry.
|
||||||
|
while
|
||||||
|
|
||||||
|
echo >&2 'Please identify a location' \
|
||||||
|
'so that time zone rules can be set correctly.'
|
||||||
|
|
||||||
|
continent=
|
||||||
|
country=
|
||||||
|
region=
|
||||||
|
|
||||||
|
|
||||||
|
# Ask the user for continent or ocean.
|
||||||
|
|
||||||
|
echo >&2 'Please select a continent or ocean.'
|
||||||
|
|
||||||
|
select continent in \
|
||||||
|
Africa \
|
||||||
|
Americas \
|
||||||
|
Antarctica \
|
||||||
|
'Arctic Ocean' \
|
||||||
|
Asia \
|
||||||
|
'Atlantic Ocean' \
|
||||||
|
Australia \
|
||||||
|
Europe \
|
||||||
|
'Indian Ocean' \
|
||||||
|
'Pacific Ocean' \
|
||||||
|
'none - I want to specify the time zone using the Posix TZ format.'
|
||||||
|
do
|
||||||
|
case $continent in
|
||||||
|
'')
|
||||||
|
echo >&2 'Please enter a number in range.';;
|
||||||
|
?*)
|
||||||
|
case $continent in
|
||||||
|
Americas) continent=America;;
|
||||||
|
*' '*) continent=$(expr "$continent" : '\([^ ]*\)')
|
||||||
|
esac
|
||||||
|
break
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
case $continent in
|
||||||
|
'')
|
||||||
|
exit 1;;
|
||||||
|
none)
|
||||||
|
# Ask the user for a Posix TZ string. Check that it conforms.
|
||||||
|
while
|
||||||
|
echo >&2 'Please enter the desired value' \
|
||||||
|
'of the TZ environment variable.'
|
||||||
|
echo >&2 'For example, GST-10 is a zone named GST' \
|
||||||
|
'that is 10 hours ahead (east) of UTC.'
|
||||||
|
read TZ
|
||||||
|
$AWK -v TZ="$TZ" 'BEGIN {
|
||||||
|
tzname = "[^-+,0-9][^-+,0-9][^-+,0-9]+"
|
||||||
|
time = "[0-2]?[0-9](:[0-5][0-9](:[0-5][0-9])?)?"
|
||||||
|
offset = "[-+]?" time
|
||||||
|
date = "(J?[0-9]+|M[0-9]+\.[0-9]+\.[0-9]+)"
|
||||||
|
datetime = "," date "(/" time ")?"
|
||||||
|
tzpattern = "^(:.*|" tzname offset "(" tzname \
|
||||||
|
"(" offset ")?(" datetime datetime ")?)?)$"
|
||||||
|
if (TZ ~ tzpattern) exit 1
|
||||||
|
exit 0
|
||||||
|
}'
|
||||||
|
do
|
||||||
|
echo >&2 "\`$TZ' is not a conforming" \
|
||||||
|
'Posix time zone string.'
|
||||||
|
done
|
||||||
|
TZ_for_date=$TZ;;
|
||||||
|
*)
|
||||||
|
# Get list of names of countries in the continent or ocean.
|
||||||
|
countries=$($AWK -F'\t' \
|
||||||
|
-v continent="$continent" \
|
||||||
|
-v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \
|
||||||
|
'
|
||||||
|
/^#/ { next }
|
||||||
|
$3 ~ ("^" continent "/") {
|
||||||
|
if (!cc_seen[$1]++) cc_list[++ccs] = $1
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
while (getline <TZ_COUNTRY_TABLE) {
|
||||||
|
if ($0 !~ /^#/) cc_name[$1] = $2
|
||||||
|
}
|
||||||
|
for (i = 1; i <= ccs; i++) {
|
||||||
|
country = cc_list[i]
|
||||||
|
if (cc_name[country]) {
|
||||||
|
country = cc_name[country]
|
||||||
|
}
|
||||||
|
print country
|
||||||
|
}
|
||||||
|
}
|
||||||
|
' <$TZ_ZONE_TABLE | sort -f)
|
||||||
|
|
||||||
|
|
||||||
|
# If there's more than one country, ask the user which one.
|
||||||
|
case $countries in
|
||||||
|
*"$newline"*)
|
||||||
|
echo >&2 'Please select a country.'
|
||||||
|
select country in $countries
|
||||||
|
do
|
||||||
|
case $country in
|
||||||
|
'') echo >&2 'Please enter a number in range.';;
|
||||||
|
?*) break
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
case $country in
|
||||||
|
'') exit 1
|
||||||
|
esac;;
|
||||||
|
*)
|
||||||
|
country=$countries
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
# Get list of names of time zone rule regions in the country.
|
||||||
|
regions=$($AWK -F'\t' \
|
||||||
|
-v country="$country" \
|
||||||
|
-v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \
|
||||||
|
'
|
||||||
|
BEGIN {
|
||||||
|
cc = country
|
||||||
|
while (getline <TZ_COUNTRY_TABLE) {
|
||||||
|
if ($0 !~ /^#/ && country == $2) {
|
||||||
|
cc = $1
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$1 == cc { print $4 }
|
||||||
|
' <$TZ_ZONE_TABLE)
|
||||||
|
|
||||||
|
|
||||||
|
# If there's more than one region, ask the user which one.
|
||||||
|
case $regions in
|
||||||
|
*"$newline"*)
|
||||||
|
echo >&2 'Please select one of the following' \
|
||||||
|
'time zone regions.'
|
||||||
|
select region in $regions
|
||||||
|
do
|
||||||
|
case $region in
|
||||||
|
'') echo >&2 'Please enter a number in range.';;
|
||||||
|
?*) break
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
case $region in
|
||||||
|
'') exit 1
|
||||||
|
esac;;
|
||||||
|
*)
|
||||||
|
region=$regions
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Determine TZ from country and region.
|
||||||
|
TZ=$($AWK -F'\t' \
|
||||||
|
-v country="$country" \
|
||||||
|
-v region="$region" \
|
||||||
|
-v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \
|
||||||
|
'
|
||||||
|
BEGIN {
|
||||||
|
cc = country
|
||||||
|
while (getline <TZ_COUNTRY_TABLE) {
|
||||||
|
if ($0 !~ /^#/ && country == $2) {
|
||||||
|
cc = $1
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$1 == cc && $4 == region { print $3 }
|
||||||
|
' <$TZ_ZONE_TABLE)
|
||||||
|
|
||||||
|
# Make sure the corresponding zoneinfo file exists.
|
||||||
|
TZ_for_date=$TZDIR/$TZ
|
||||||
|
<$TZ_for_date || {
|
||||||
|
echo >&2 "$0: time zone files are not set up correctly"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
# Use the proposed TZ to output the current date relative to UTC.
|
||||||
|
# Loop until they agree in seconds.
|
||||||
|
# Give up after 8 unsuccessful tries.
|
||||||
|
|
||||||
|
extra_info=
|
||||||
|
for i in 1 2 3 4 5 6 7 8
|
||||||
|
do
|
||||||
|
TZdate=$(LANG=C TZ="$TZ_for_date" date)
|
||||||
|
UTdate=$(LANG=C TZ=UTC0 date)
|
||||||
|
TZsec=$(expr "$TZdate" : '.*:\([0-5][0-9]\)')
|
||||||
|
UTsec=$(expr "$UTdate" : '.*:\([0-5][0-9]\)')
|
||||||
|
case $TZsec in
|
||||||
|
$UTsec)
|
||||||
|
extra_info="
|
||||||
|
Local time is now: $TZdate.
|
||||||
|
Universal Time is now: $UTdate."
|
||||||
|
break
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# Output TZ info and ask the user to confirm.
|
||||||
|
|
||||||
|
echo >&2 ""
|
||||||
|
echo >&2 "The following information has been given:"
|
||||||
|
echo >&2 ""
|
||||||
|
case $country+$region in
|
||||||
|
?*+?*) echo >&2 " $country$newline $region";;
|
||||||
|
?*+) echo >&2 " $country";;
|
||||||
|
+) echo >&2 " TZ='$TZ'"
|
||||||
|
esac
|
||||||
|
echo >&2 ""
|
||||||
|
echo >&2 "Therefore TZ='$TZ' will be used.$extra_info"
|
||||||
|
echo >&2 "Is the above information OK?"
|
||||||
|
|
||||||
|
ok=
|
||||||
|
select ok in Yes No
|
||||||
|
do
|
||||||
|
case $ok in
|
||||||
|
'') echo >&2 'Please enter 1 for Yes, or 2 for No.';;
|
||||||
|
?*) break
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
case $ok in
|
||||||
|
'') exit 1;;
|
||||||
|
Yes) break
|
||||||
|
esac
|
||||||
|
do :
|
||||||
|
done
|
||||||
|
|
||||||
|
# Output the answer.
|
||||||
|
echo "$TZ"
|
356
time/zone.tab
Normal file
356
time/zone.tab
Normal file
@ -0,0 +1,356 @@
|
|||||||
|
# TZ zone descriptions
|
||||||
|
#
|
||||||
|
# From Paul Eggert <eggert@twinsun.com> (1996-08-05):
|
||||||
|
#
|
||||||
|
# This file contains a table with the following columns:
|
||||||
|
# 1. ISO 3166 2-character country code. See the file `iso3166.tab'.
|
||||||
|
# 2. Latitude and longitude of the zone's principal location
|
||||||
|
# in ISO 6709 sign-degrees-minutes-seconds format,
|
||||||
|
# either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
|
||||||
|
# first latitude (+ is north), then longitude (+ is east).
|
||||||
|
# 3. Zone name used in value of TZ environment variable.
|
||||||
|
# 4. Comments; present if and only if the country has multiple rows.
|
||||||
|
#
|
||||||
|
# Columns are separated by a single tab.
|
||||||
|
# The table is sorted first by country, then an order within the country that
|
||||||
|
# (1) makes some geographical sense, and
|
||||||
|
# (2) puts the most populous zones first, where that does not contradict (1).
|
||||||
|
#
|
||||||
|
# Lines beginning with `#' are comments.
|
||||||
|
#
|
||||||
|
#country-
|
||||||
|
#code coordinates TZ comments
|
||||||
|
AD +4230+00131 Europe/Andorra
|
||||||
|
AE +2518+05518 Asia/Dubai
|
||||||
|
AF +3431+06912 Asia/Kabul
|
||||||
|
AG +1703-06148 America/Antigua
|
||||||
|
AI +1812-06304 America/Anguilla
|
||||||
|
AL +4120+01950 Europe/Tirane
|
||||||
|
AM +4011+04430 Asia/Yerevan
|
||||||
|
AN +1211-06900 America/Curacao
|
||||||
|
AO -0848+01314 Africa/Luanda
|
||||||
|
AQ -7750+16636 Antarctica/McMurdo McMurdo Station, Ross Island
|
||||||
|
AQ -9000+00000 Antarctica/South_Pole Amundsen-Scott Station, South Pole
|
||||||
|
AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula
|
||||||
|
AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay
|
||||||
|
AR -3436-05827 America/Buenos_Aires
|
||||||
|
AS -1416-17042 Pacific/Pago_Pago
|
||||||
|
AT +4813+01620 Europe/Vienna
|
||||||
|
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
|
||||||
|
AU -4253+14719 Australia/Hobart Tasmania
|
||||||
|
AU -3749+14458 Australia/Melbourne Victoria
|
||||||
|
AU -3352+15113 Australia/Sydney New South Wales - most locations
|
||||||
|
AU -3157+14127 Australia/Broken_Hill New South Wales - Broken Hill
|
||||||
|
AU -2728+15302 Australia/Brisbane Queensland
|
||||||
|
AU -3455+13835 Australia/Adelaide South Australia
|
||||||
|
AU -1228+13050 Australia/Darwin Northern Territory
|
||||||
|
AU -3157+11551 Australia/Perth Western Australia
|
||||||
|
AW +1230-06858 America/Aruba
|
||||||
|
AZ +4023+04951 Asia/Baku
|
||||||
|
BA +4352+01825 Europe/Sarajevo
|
||||||
|
BB +1306-05937 America/Barbados
|
||||||
|
BD +2343+09025 Asia/Dacca
|
||||||
|
BE +5050+00420 Europe/Brussels
|
||||||
|
BF +1222-00131 Africa/Ouagadougou
|
||||||
|
BG +4241+02319 Europe/Sofia
|
||||||
|
BH +2623+05035 Asia/Bahrain
|
||||||
|
BI -0323+02922 Africa/Bujumbura
|
||||||
|
BJ +0629+00237 Africa/Porto-Novo
|
||||||
|
BM +3217-06446 Atlantic/Bermuda
|
||||||
|
BN +0456+11455 Asia/Brunei
|
||||||
|
BO -1630-06809 America/La_Paz
|
||||||
|
BR -0351-03225 America/Noronha Atlantic islands
|
||||||
|
BR -2332-04637 America/Sao_Paulo east Brazil
|
||||||
|
BR -0308-06001 America/Manaus west Brazil
|
||||||
|
BR -0934-06731 America/Porto_Acre Acre
|
||||||
|
BS +2505-07721 America/Nassau
|
||||||
|
BT +2728+08939 Asia/Thimbu
|
||||||
|
BW -2545+02555 Africa/Gaborone
|
||||||
|
BY +5354+02734 Europe/Minsk
|
||||||
|
BZ +1730-08812 America/Belize
|
||||||
|
CA +4734-05243 America/St_Johns Newfoundland Island
|
||||||
|
CA +4439-06336 America/Halifax Atlantic Time - Nova Scotia (most locations), New Brunswick, Labrador & PEI
|
||||||
|
CA +4612-05957 America/Glace_Bay Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971
|
||||||
|
CA +6608-06544 America/Pangnirtung Atlantic Time - Northwest Territories
|
||||||
|
CA +4531-07334 America/Montreal Eastern Time - Ontario & Quebec - most locations
|
||||||
|
CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
|
||||||
|
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario
|
||||||
|
CA +6344-06828 America/Iqaluit Eastern Time - Northwest Territories
|
||||||
|
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario
|
||||||
|
CA +4843-09429 America/Rainy_River Central Time - Rainy River & Fort Frances, Ontario
|
||||||
|
CA +6245-09210 America/Rankin_Inlet Central Time - Northwest Territories
|
||||||
|
CA +5024-10439 America/Regina Central Standard Time - Saskatchewan - most locations
|
||||||
|
CA +5017-10750 America/Swift_Current Central Standard Time - Saskatchewan - midwest
|
||||||
|
CA +5333-11328 America/Edmonton Mountain Time - Alberta, east British Columbia & west Saskatchewan
|
||||||
|
CA +6227-11421 America/Yellowknife Mountain Time - central Northwest Territories
|
||||||
|
CA +6825-11330 America/Inuvik Mountain Time - west Northwest Territories
|
||||||
|
CA +5946-12014 America/Dawson_Creek Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
|
||||||
|
CA +4916-12307 America/Vancouver Pacific Time - west British Columbia
|
||||||
|
CA +6043-13503 America/Whitehorse Pacific Time - south Yukon
|
||||||
|
CA +6404-13925 America/Dawson Pacific Time - north Yukon
|
||||||
|
CC -1210+09655 Indian/Cocos
|
||||||
|
CF +0422+01835 Africa/Bangui
|
||||||
|
CG -0416+01517 Africa/Brazzaville
|
||||||
|
CH +4723+00832 Europe/Zurich
|
||||||
|
CI +0519-00402 Africa/Abidjan
|
||||||
|
CK -2114-15946 Pacific/Rarotonga
|
||||||
|
CL -3327-07040 America/Santiago mainland
|
||||||
|
CL -2710-10927 Pacific/Easter Easter Island
|
||||||
|
CM +0403+00942 Africa/Douala
|
||||||
|
CN +4545+12641 Asia/Harbin north Manchuria
|
||||||
|
CN +3114+12128 Asia/Shanghai China coast
|
||||||
|
CN +2934+10635 Asia/Chungking China mountains
|
||||||
|
CN +4348+08735 Asia/Urumqi Tibet & Xinjiang
|
||||||
|
CN +3929+07559 Asia/Kashgar Eastern Turkestan
|
||||||
|
CO +0436-07405 America/Bogota
|
||||||
|
CR +0956-08405 America/Costa_Rica
|
||||||
|
CU +2308-08222 America/Havana
|
||||||
|
CV +1455-02331 Atlantic/Cape_Verde
|
||||||
|
CX -1025+10543 Indian/Christmas
|
||||||
|
CY +3510+03322 Asia/Nicosia
|
||||||
|
CZ +5005+01426 Europe/Prague
|
||||||
|
DE +5230+01322 Europe/Berlin
|
||||||
|
DJ +1136+04309 Africa/Djibouti
|
||||||
|
DK +5540+01235 Europe/Copenhagen
|
||||||
|
DM +1518-06124 America/Dominica
|
||||||
|
DO +1828-06954 America/Santo_Domingo
|
||||||
|
DZ +3647+00303 Africa/Algiers
|
||||||
|
EC -0210-07950 America/Guayaquil mainland
|
||||||
|
EC -0054-08936 Pacific/Galapagos Galapagos Islands
|
||||||
|
EE +5925+02445 Europe/Tallinn
|
||||||
|
EG +3003+03115 Africa/Cairo
|
||||||
|
EH +2709-01312 Africa/El_Aaiun
|
||||||
|
ER +1520+03853 Africa/Asmera
|
||||||
|
ES +4024-00341 Europe/Madrid mainland
|
||||||
|
ES +3553-00519 Africa/Ceuta Ceuta & Melilla
|
||||||
|
ES +2806-01524 Atlantic/Canary Canary Islands
|
||||||
|
ET +0902+03842 Africa/Addis_Ababa
|
||||||
|
FI +6010+02458 Europe/Helsinki
|
||||||
|
FJ -1808+17825 Pacific/Fiji
|
||||||
|
FK -5142-05751 Atlantic/Stanley
|
||||||
|
FM +0931+13808 Pacific/Yap Yap
|
||||||
|
FM +0725+15147 Pacific/Truk Truk (Chuuk)
|
||||||
|
FM +0658+15813 Pacific/Ponape Ponape (Pohnpei)
|
||||||
|
FM +0519+16259 Pacific/Kosrae Kosrae
|
||||||
|
FO +6201-00646 Atlantic/Faeroe
|
||||||
|
FR +4852+00220 Europe/Paris
|
||||||
|
GA +0023+00927 Africa/Libreville
|
||||||
|
GB +512830-0001845 Europe/London Great Britain
|
||||||
|
GB +5435-00555 Europe/Belfast Northern Ireland
|
||||||
|
GD +1203-06145 America/Grenada
|
||||||
|
GE +4143+04449 Asia/Tbilisi
|
||||||
|
GF +0456-05220 America/Cayenne
|
||||||
|
GH +0533-00013 Africa/Accra
|
||||||
|
GI +3608-00521 Europe/Gibraltar
|
||||||
|
GL +7030-02215 America/Scoresbysund east Greenland
|
||||||
|
GL +6411-05144 America/Godthab southwest Greenland
|
||||||
|
GL +7634-06847 America/Thule northwest Greenland
|
||||||
|
GM +1328-01639 Africa/Banjul
|
||||||
|
GN +0931-01343 Africa/Conakry
|
||||||
|
GP +1614-06132 America/Guadeloupe
|
||||||
|
GQ +0345+00847 Africa/Malabo
|
||||||
|
GR +3758+02343 Europe/Athens
|
||||||
|
GS -5416-03632 Atlantic/South_Georgia
|
||||||
|
GT +1438-09031 America/Guatemala
|
||||||
|
GU +1328+14445 Pacific/Guam
|
||||||
|
GW +1151-01535 Africa/Bissau
|
||||||
|
GY +0648-05810 America/Guyana
|
||||||
|
HK +2217+11409 Asia/Hong_Kong
|
||||||
|
HN +1406-08713 America/Tegucigalpa
|
||||||
|
HR +4548+01558 Europe/Zagreb
|
||||||
|
HT +1832-07220 America/Port-au-Prince
|
||||||
|
HU +4730+01905 Europe/Budapest
|
||||||
|
ID -0610+10648 Asia/Jakarta Java & Sumatra
|
||||||
|
ID -0507+11924 Asia/Ujung_Pandang Borneo & Celebes
|
||||||
|
ID -0232+14042 Asia/Jayapura Irian Jaya & the Moluccas
|
||||||
|
IE +5320-00615 Europe/Dublin
|
||||||
|
IL +3146+03514 Asia/Jerusalem most locations
|
||||||
|
IL +3130+03428 Asia/Gaza Gaza Strip
|
||||||
|
IN +2232+08822 Asia/Calcutta
|
||||||
|
IO -0720+07225 Indian/Chagos
|
||||||
|
IQ +3321+04425 Asia/Baghdad
|
||||||
|
IR +3540+05126 Asia/Tehran
|
||||||
|
IS +6409-02151 Atlantic/Reykjavik
|
||||||
|
IT +4154+01229 Europe/Rome
|
||||||
|
JM +1800-07648 America/Jamaica
|
||||||
|
JO +3157+03556 Asia/Amman
|
||||||
|
JP +3542+13946 Asia/Tokyo most locations
|
||||||
|
JP +2420+12409 Asia/Ishigaki south Ryukyu Islands
|
||||||
|
KE -0117+03649 Africa/Nairobi
|
||||||
|
KG +4254+07436 Asia/Bishkek
|
||||||
|
KH +1133+10455 Asia/Phnom_Penh
|
||||||
|
KI +0125+17300 Pacific/Tarawa Gilbert Islands
|
||||||
|
KI -0308-17105 Pacific/Enderbury Phoenix Islands
|
||||||
|
KI +0152-15720 Pacific/Kiritimati Line Islands
|
||||||
|
KM -1141+04316 Indian/Comoro
|
||||||
|
KN +1718-06243 America/St_Kitts
|
||||||
|
KP +3901+12545 Asia/Pyongyang
|
||||||
|
KR +3733+12658 Asia/Seoul
|
||||||
|
KW +2920+04759 Asia/Kuwait
|
||||||
|
KY +1918-08123 America/Cayman
|
||||||
|
KZ +4315+07657 Asia/Alma-Ata east Kazakhstan
|
||||||
|
KZ +5016+07302 Asia/Aktau west Kazakhstan
|
||||||
|
LA +1758+10236 Asia/Vientiane
|
||||||
|
LB +3353+03530 Asia/Beirut
|
||||||
|
LC +1401-06100 America/St_Lucia
|
||||||
|
LI +4709+00931 Europe/Vaduz
|
||||||
|
LK +0656+07951 Asia/Colombo
|
||||||
|
LR +0618-01047 Africa/Monrovia
|
||||||
|
LS -2928+02730 Africa/Maseru
|
||||||
|
LT +5441+02519 Europe/Vilnius
|
||||||
|
LU +4936+00609 Europe/Luxembourg
|
||||||
|
LV +5657+02406 Europe/Riga
|
||||||
|
LY +3254+01311 Africa/Tripoli
|
||||||
|
MA +3339-00735 Africa/Casablanca
|
||||||
|
MC +4342+00723 Europe/Monaco
|
||||||
|
MD +4700+02850 Europe/Chisinau
|
||||||
|
MG -1855+04731 Indian/Antananarivo
|
||||||
|
MH +0709+17112 Pacific/Majuro most locations
|
||||||
|
MH +0905+16720 Pacific/Kwajalein Kwajalein
|
||||||
|
MK +4159+02126 Europe/Skopje
|
||||||
|
ML +1239-00800 Africa/Bamako southwest Mali
|
||||||
|
ML +1446-00301 Africa/Timbuktu northeast Mali
|
||||||
|
MM +1647+09610 Asia/Rangoon
|
||||||
|
MN +4755+10653 Asia/Ulan_Bator
|
||||||
|
MO +2214+11335 Asia/Macao
|
||||||
|
MP +1512+14545 Pacific/Saipan
|
||||||
|
MQ +1436-06105 America/Martinique
|
||||||
|
MR +1806-01557 Africa/Nouakchott
|
||||||
|
MS +1642-06213 America/Montserrat
|
||||||
|
MT +3554+01431 Europe/Malta
|
||||||
|
MU -2010+05730 Indian/Mauritius
|
||||||
|
MV +0410+07330 Indian/Maldives
|
||||||
|
MW -1547+03500 Africa/Blantyre
|
||||||
|
MX +1924-09909 America/Mexico_City Central Time
|
||||||
|
MX +2313-10625 America/Mazatlan Mountain Time
|
||||||
|
MX +3152-11637 America/Ensenada Pacific Time - most locations
|
||||||
|
MX +3232-11701 America/Tijuana Pacific Time - north Baja California
|
||||||
|
MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia
|
||||||
|
MY +0133+11020 Asia/Kuching Sabah & Sarawak
|
||||||
|
MZ -2558+03235 Africa/Maputo
|
||||||
|
NA -2234+01706 Africa/Windhoek
|
||||||
|
NC -2216+16530 Pacific/Noumea
|
||||||
|
NE +1331+00207 Africa/Niamey
|
||||||
|
NF -2903+16758 Pacific/Norfolk
|
||||||
|
NG +0627+00324 Africa/Lagos
|
||||||
|
NI +1209-08617 America/Managua
|
||||||
|
NL +5222+00454 Europe/Amsterdam
|
||||||
|
NO +5955+01045 Europe/Oslo
|
||||||
|
NP +2743+08519 Asia/Katmandu
|
||||||
|
NR -0031+16655 Pacific/Nauru
|
||||||
|
NU -1901+16955 Pacific/Niue
|
||||||
|
NZ -3652+17446 Pacific/Auckland most locations
|
||||||
|
NZ -4355+17630 Pacific/Chatham Chatham Island
|
||||||
|
OM +2336+05835 Asia/Muscat
|
||||||
|
PA +0858-07932 America/Panama
|
||||||
|
PE -1203-07703 America/Lima
|
||||||
|
PF -1732-14934 Pacific/Tahiti Society Islands
|
||||||
|
PF -0900-13930 Pacific/Marquesas Marquesas Islands
|
||||||
|
PF -2308-13457 Pacific/Gambier Gambier Islands
|
||||||
|
PG -0930+14710 Pacific/Port_Moresby
|
||||||
|
PH +1435+12100 Asia/Manila
|
||||||
|
PK +2452+06703 Asia/Karachi
|
||||||
|
PL +5215+02100 Europe/Warsaw
|
||||||
|
PM +4703-05620 America/Miquelon
|
||||||
|
PN -2504-13005 Pacific/Pitcairn
|
||||||
|
PR +182806-0660622 America/Puerto_Rico
|
||||||
|
PT +3843-00908 Europe/Lisbon mainland
|
||||||
|
PT +3238-01654 Atlantic/Madeira Madeira Islands
|
||||||
|
PT +3744-02540 Atlantic/Azores Azores
|
||||||
|
PW +0720+13429 Pacific/Palau
|
||||||
|
PY -2516-05740 America/Asuncion
|
||||||
|
QA +2517+05132 Asia/Qatar
|
||||||
|
RE -2052+05528 Indian/Reunion
|
||||||
|
RO +4426+02606 Europe/Bucharest
|
||||||
|
RU +5545+03735 Europe/Moscow Moscow+00 - west Russia
|
||||||
|
RU +5312+05009 Europe/Kuybyshev Moscow+01 - Caspian Sea
|
||||||
|
RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals
|
||||||
|
RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia
|
||||||
|
RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk
|
||||||
|
RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River
|
||||||
|
RU +5216+10420 Asia/Irkutsk Moscow+05 - Irkutsk
|
||||||
|
RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River
|
||||||
|
RU +4310+13156 Asia/Vladivostok Moscow+07 - Vladivostok
|
||||||
|
RU +5934+15048 Asia/Magadan Moscow+08 - Magadan & Sakhalin
|
||||||
|
RU +5301+15839 Asia/Kamchatka Moscow+09 - Kamchatka
|
||||||
|
RU +6445+17729 Asia/Anadyr Moscow+10 - Bering Sea
|
||||||
|
RW -0157+03004 Africa/Kigali
|
||||||
|
SA +2438+04643 Asia/Riyadh
|
||||||
|
SB -0932+16012 Pacific/Guadalcanal
|
||||||
|
SC -0440+05528 Indian/Mahe
|
||||||
|
SD +1536+03232 Africa/Khartoum
|
||||||
|
SE +5920+01803 Europe/Stockholm
|
||||||
|
SG +0117+10351 Asia/Singapore
|
||||||
|
SH -1555-00542 Atlantic/St_Helena
|
||||||
|
SI +4603+01431 Europe/Ljubljana
|
||||||
|
SJ +7800+01600 Arctic/Longyearbyen Svalbard
|
||||||
|
SJ +7059-00805 Atlantic/Jan_Mayen Jan Mayen
|
||||||
|
SK +4809+01707 Europe/Bratislava
|
||||||
|
SL +0830-01315 Africa/Freetown
|
||||||
|
SM +4355+01228 Europe/San_Marino
|
||||||
|
SN +1440-01726 Africa/Dakar
|
||||||
|
SO +0204+04522 Africa/Mogadishu
|
||||||
|
SR +0550-05510 America/Paramaribo
|
||||||
|
ST +0020+00644 Africa/Sao_Tome
|
||||||
|
SV +1342-08912 America/El_Salvador
|
||||||
|
SY +3330+03618 Asia/Damascus
|
||||||
|
SZ -2618+03106 Africa/Mbabane
|
||||||
|
TC +2128-07108 America/Grand_Turk
|
||||||
|
TD +1207+01503 Africa/Ndjamena
|
||||||
|
TG +0608+00113 Africa/Lome
|
||||||
|
TH +1345+10031 Asia/Bangkok
|
||||||
|
TJ +3835+06848 Asia/Dushanbe
|
||||||
|
TK -0922-17114 Pacific/Fakaofo
|
||||||
|
TM +3757+05823 Asia/Ashkhabad
|
||||||
|
TN +3648+01011 Africa/Tunis
|
||||||
|
TO -2110+17510 Pacific/Tongatapu
|
||||||
|
TR +4101+02858 Europe/Istanbul
|
||||||
|
TT +1039-06131 America/Port_of_Spain
|
||||||
|
TV -0831+17913 Pacific/Funafuti
|
||||||
|
TW +2503+12130 Asia/Taipei
|
||||||
|
TZ -0648+03917 Africa/Dar_es_Salaam
|
||||||
|
UA +5026+03031 Europe/Kiev most locations
|
||||||
|
UA +4457+03406 Europe/Simferopol Crimea
|
||||||
|
UG +0019+03225 Africa/Kampala
|
||||||
|
UM +1700-16830 Pacific/Johnston Johnston Atoll
|
||||||
|
UM +2813-17722 Pacific/Midway Midway Islands
|
||||||
|
UM +1917+16637 Pacific/Wake Wake Island
|
||||||
|
US +404251-0740023 America/New_York Eastern Time
|
||||||
|
US +421953-0830245 America/Detroit Eastern Time - Michigan - most locations
|
||||||
|
US +381515-0854534 America/Louisville Eastern Time - Louisville, Kentucky
|
||||||
|
US +394606-0860929 America/Indianapolis Eastern Standard Time - Indiana - most locations
|
||||||
|
US +382232-0862041 America/Indiana/Marengo Eastern Standard Time - Indiana - Crawford County
|
||||||
|
US +411745-0863730 America/Indiana/Knox Eastern Standard Time - Indiana - Starke County
|
||||||
|
US +384452-0850402 America/Indiana/Vevay Eastern Standard Time - Indiana - Switzerland County
|
||||||
|
US +415100-0873900 America/Chicago Central Time
|
||||||
|
US +450628-0873651 America/Menominee Central Time - Michigan - Wisconsin border
|
||||||
|
US +394421-1045903 America/Denver Mountain Time
|
||||||
|
US +433649-1161209 America/Boise Mountain Time - south Idaho & east Oregon
|
||||||
|
US +364708-1084111 America/Shiprock Mountain Time - Navajo
|
||||||
|
US +332654-1120424 America/Phoenix Mountain Standard Time - Arizona
|
||||||
|
US +340308-1181434 America/Los_Angeles Pacific Time
|
||||||
|
US +611305-1495401 America/Anchorage Alaska Time
|
||||||
|
US +581807-1342511 America/Juneau Alaska Time - Alaska panhandle
|
||||||
|
US +593249-1394338 America/Yakutat Alaska Time - Alaska panhandle neck
|
||||||
|
US +643004-1652423 America/Nome Alaska Time - west Alaska
|
||||||
|
US +515248-1763929 America/Adak Aleutian Islands
|
||||||
|
US +211825-1575130 Pacific/Honolulu Hawaii
|
||||||
|
UY -3453-05611 America/Montevideo
|
||||||
|
UZ +4120+06918 Asia/Tashkent
|
||||||
|
VA +4154+01227 Europe/Vatican
|
||||||
|
VC +1309-06114 America/St_Vincent
|
||||||
|
VE +1030-06656 America/Caracas
|
||||||
|
VG +1827-06437 America/Tortola
|
||||||
|
VI +1821-06456 America/St_Thomas
|
||||||
|
VN +1045+10640 Asia/Saigon
|
||||||
|
VU -1740+16825 Pacific/Efate
|
||||||
|
WF -1318-17610 Pacific/Wallis
|
||||||
|
WS -1350-17144 Pacific/Apia
|
||||||
|
YE +1245+04512 Asia/Aden
|
||||||
|
YT -1247+04514 Indian/Mayotte
|
||||||
|
YU +4450+02030 Europe/Belgrade
|
||||||
|
ZA -2615+02800 Africa/Johannesburg
|
||||||
|
ZM -1525+02817 Africa/Lusaka
|
||||||
|
ZR -0418+01518 Africa/Kinshasa west Zaire
|
||||||
|
ZR -1140+02728 Africa/Lubumbashi east Zaire
|
||||||
|
ZW -1750+03103 Africa/Harare
|
Loading…
Reference in New Issue
Block a user