github.com/gigforks/mattermost-server@v4.9.1-0.20180619094218-800d97fa55d0+incompatible/model/timezone.go (about)

     1  // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
     2  // See License.txt for license information.
     3  
     4  package model
     5  
     6  import (
     7  	"encoding/json"
     8  	"io"
     9  )
    10  
    11  type SupportedTimezones []string
    12  
    13  func TimezonesToJson(timezoneList []string) string {
    14  	b, _ := json.Marshal(timezoneList)
    15  	return string(b)
    16  }
    17  
    18  func TimezonesFromJson(data io.Reader) SupportedTimezones {
    19  	var timezones SupportedTimezones
    20  	json.NewDecoder(data).Decode(&timezones)
    21  	return timezones
    22  }
    23  
    24  func DefaultUserTimezone() map[string]string {
    25  	defaultTimezone := make(map[string]string)
    26  	defaultTimezone["useAutomaticTimezone"] = "true"
    27  	defaultTimezone["automaticTimezone"] = ""
    28  	defaultTimezone["manualTimezone"] = ""
    29  
    30  	return defaultTimezone
    31  }
    32  
    33  var DefaultSupportedTimezones = []string{
    34  	"Africa/Abidjan",
    35  	"Africa/Accra",
    36  	"Africa/Addis_Ababa",
    37  	"Africa/Algiers",
    38  	"Africa/Asmara",
    39  	"Africa/Asmera",
    40  	"Africa/Bamako",
    41  	"Africa/Bangui",
    42  	"Africa/Banjul",
    43  	"Africa/Bissau",
    44  	"Africa/Blantyre",
    45  	"Africa/Brazzaville",
    46  	"Africa/Bujumbura",
    47  	"Africa/Cairo",
    48  	"Africa/Casablanca",
    49  	"Africa/Ceuta",
    50  	"Africa/Conakry",
    51  	"Africa/Dakar",
    52  	"Africa/Dar_es_Salaam",
    53  	"Africa/Djibouti",
    54  	"Africa/Douala",
    55  	"Africa/El_Aaiun",
    56  	"Africa/Freetown",
    57  	"Africa/Gaborone",
    58  	"Africa/Harare",
    59  	"Africa/Johannesburg",
    60  	"Africa/Juba",
    61  	"Africa/Kampala",
    62  	"Africa/Khartoum",
    63  	"Africa/Kigali",
    64  	"Africa/Kinshasa",
    65  	"Africa/Lagos",
    66  	"Africa/Libreville",
    67  	"Africa/Lome",
    68  	"Africa/Luanda",
    69  	"Africa/Lubumbashi",
    70  	"Africa/Lusaka",
    71  	"Africa/Malabo",
    72  	"Africa/Maputo",
    73  	"Africa/Maseru",
    74  	"Africa/Mbabane",
    75  	"Africa/Mogadishu",
    76  	"Africa/Monrovia",
    77  	"Africa/Nairobi",
    78  	"Africa/Ndjamena",
    79  	"Africa/Niamey",
    80  	"Africa/Nouakchott",
    81  	"Africa/Ouagadougou",
    82  	"Africa/Porto-Novo",
    83  	"Africa/Sao_Tome",
    84  	"Africa/Timbuktu",
    85  	"Africa/Tripoli",
    86  	"Africa/Tunis",
    87  	"Africa/Windhoek",
    88  	"America/Adak",
    89  	"America/Anchorage",
    90  	"America/Anguilla",
    91  	"America/Antigua",
    92  	"America/Araguaina",
    93  	"America/Argentina/Buenos_Aires",
    94  	"America/Argentina/Catamarca",
    95  	"America/Argentina/ComodRivadavia",
    96  	"America/Argentina/Cordoba",
    97  	"America/Argentina/Jujuy",
    98  	"America/Argentina/La_Rioja",
    99  	"America/Argentina/Mendoza",
   100  	"America/Argentina/Rio_Gallegos",
   101  	"America/Argentina/Salta",
   102  	"America/Argentina/San_Juan",
   103  	"America/Argentina/San_Luis",
   104  	"America/Argentina/Tucuman",
   105  	"America/Argentina/Ushuaia",
   106  	"America/Aruba",
   107  	"America/Asuncion",
   108  	"America/Atikokan",
   109  	"America/Atka",
   110  	"America/Bahia",
   111  	"America/Bahia_Banderas",
   112  	"America/Barbados",
   113  	"America/Belem",
   114  	"America/Belize",
   115  	"America/Blanc-Sablon",
   116  	"America/Boa_Vista",
   117  	"America/Bogota",
   118  	"America/Boise",
   119  	"America/Buenos_Aires",
   120  	"America/Cambridge_Bay",
   121  	"America/Campo_Grande",
   122  	"America/Cancun",
   123  	"America/Caracas",
   124  	"America/Catamarca",
   125  	"America/Cayenne",
   126  	"America/Cayman",
   127  	"America/Chicago",
   128  	"America/Chihuahua",
   129  	"America/Coral_Harbour",
   130  	"America/Cordoba",
   131  	"America/Costa_Rica",
   132  	"America/Creston",
   133  	"America/Cuiaba",
   134  	"America/Curacao",
   135  	"America/Danmarkshavn",
   136  	"America/Dawson",
   137  	"America/Dawson_Creek",
   138  	"America/Denver",
   139  	"America/Detroit",
   140  	"America/Dominica",
   141  	"America/Edmonton",
   142  	"America/Eirunepe",
   143  	"America/El_Salvador",
   144  	"America/Ensenada",
   145  	"America/Fort_Nelson",
   146  	"America/Fort_Wayne",
   147  	"America/Fortaleza",
   148  	"America/Glace_Bay",
   149  	"America/Godthab",
   150  	"America/Goose_Bay",
   151  	"America/Grand_Turk",
   152  	"America/Grenada",
   153  	"America/Guadeloupe",
   154  	"America/Guatemala",
   155  	"America/Guayaquil",
   156  	"America/Guyana",
   157  	"America/Halifax",
   158  	"America/Havana",
   159  	"America/Hermosillo",
   160  	"America/Indiana/Indianapolis",
   161  	"America/Indiana/Knox",
   162  	"America/Indiana/Marengo",
   163  	"America/Indiana/Petersburg",
   164  	"America/Indiana/Tell_City",
   165  	"America/Indiana/Vevay",
   166  	"America/Indiana/Vincennes",
   167  	"America/Indiana/Winamac",
   168  	"America/Indianapolis",
   169  	"America/Inuvik",
   170  	"America/Iqaluit",
   171  	"America/Jamaica",
   172  	"America/Jujuy",
   173  	"America/Juneau",
   174  	"America/Kentucky/Louisville",
   175  	"America/Kentucky/Monticello",
   176  	"America/Knox_IN",
   177  	"America/Kralendijk",
   178  	"America/La_Paz",
   179  	"America/Lima",
   180  	"America/Los_Angeles",
   181  	"America/Louisville",
   182  	"America/Lower_Princes",
   183  	"America/Maceio",
   184  	"America/Managua",
   185  	"America/Manaus",
   186  	"America/Marigot",
   187  	"America/Martinique",
   188  	"America/Matamoros",
   189  	"America/Mazatlan",
   190  	"America/Mendoza",
   191  	"America/Menominee",
   192  	"America/Merida",
   193  	"America/Metlakatla",
   194  	"America/Mexico_City",
   195  	"America/Miquelon",
   196  	"America/Moncton",
   197  	"America/Monterrey",
   198  	"America/Montevideo",
   199  	"America/Montreal",
   200  	"America/Montserrat",
   201  	"America/Nassau",
   202  	"America/New_York",
   203  	"America/Nipigon",
   204  	"America/Nome",
   205  	"America/Noronha",
   206  	"America/North_Dakota/Beulah",
   207  	"America/North_Dakota/Center",
   208  	"America/North_Dakota/New_Salem",
   209  	"America/Ojinaga",
   210  	"America/Panama",
   211  	"America/Pangnirtung",
   212  	"America/Paramaribo",
   213  	"America/Phoenix",
   214  	"America/Port-au-Prince",
   215  	"America/Port_of_Spain",
   216  	"America/Porto_Acre",
   217  	"America/Porto_Velho",
   218  	"America/Puerto_Rico",
   219  	"America/Punta_Arenas",
   220  	"America/Rainy_River",
   221  	"America/Rankin_Inlet",
   222  	"America/Recife",
   223  	"America/Regina",
   224  	"America/Resolute",
   225  	"America/Rio_Branco",
   226  	"America/Rosario",
   227  	"America/Santa_Isabel",
   228  	"America/Santarem",
   229  	"America/Santiago",
   230  	"America/Santo_Domingo",
   231  	"America/Sao_Paulo",
   232  	"America/Scoresbysund",
   233  	"America/Shiprock",
   234  	"America/Sitka",
   235  	"America/St_Barthelemy",
   236  	"America/St_Johns",
   237  	"America/St_Kitts",
   238  	"America/St_Lucia",
   239  	"America/St_Thomas",
   240  	"America/St_Vincent",
   241  	"America/Swift_Current",
   242  	"America/Tegucigalpa",
   243  	"America/Thule",
   244  	"America/Thunder_Bay",
   245  	"America/Tijuana",
   246  	"America/Toronto",
   247  	"America/Tortola",
   248  	"America/Vancouver",
   249  	"America/Virgin",
   250  	"America/Whitehorse",
   251  	"America/Winnipeg",
   252  	"America/Yakutat",
   253  	"America/Yellowknife",
   254  	"Antarctica/Casey",
   255  	"Antarctica/Davis",
   256  	"Antarctica/DumontDUrville",
   257  	"Antarctica/Macquarie",
   258  	"Antarctica/Mawson",
   259  	"Antarctica/McMurdo",
   260  	"Antarctica/Palmer",
   261  	"Antarctica/Rothera",
   262  	"Antarctica/South_Pole",
   263  	"Antarctica/Syowa",
   264  	"Antarctica/Troll",
   265  	"Antarctica/Vostok",
   266  	"Arctic/Longyearbyen",
   267  	"Asia/Aden",
   268  	"Asia/Almaty",
   269  	"Asia/Amman",
   270  	"Asia/Anadyr",
   271  	"Asia/Aqtau",
   272  	"Asia/Aqtobe",
   273  	"Asia/Ashgabat",
   274  	"Asia/Ashkhabad",
   275  	"Asia/Atyrau",
   276  	"Asia/Baghdad",
   277  	"Asia/Bahrain",
   278  	"Asia/Baku",
   279  	"Asia/Bangkok",
   280  	"Asia/Barnaul",
   281  	"Asia/Beirut",
   282  	"Asia/Bishkek",
   283  	"Asia/Brunei",
   284  	"Asia/Calcutta",
   285  	"Asia/Chita",
   286  	"Asia/Choibalsan",
   287  	"Asia/Chongqing",
   288  	"Asia/Chungking",
   289  	"Asia/Colombo",
   290  	"Asia/Dacca",
   291  	"Asia/Damascus",
   292  	"Asia/Dhaka",
   293  	"Asia/Dili",
   294  	"Asia/Dubai",
   295  	"Asia/Dushanbe",
   296  	"Asia/Famagusta",
   297  	"Asia/Gaza",
   298  	"Asia/Harbin",
   299  	"Asia/Hebron",
   300  	"Asia/Ho_Chi_Minh",
   301  	"Asia/Hong_Kong",
   302  	"Asia/Hovd",
   303  	"Asia/Irkutsk",
   304  	"Asia/Istanbul",
   305  	"Asia/Jakarta",
   306  	"Asia/Jayapura",
   307  	"Asia/Jerusalem",
   308  	"Asia/Kabul",
   309  	"Asia/Kamchatka",
   310  	"Asia/Karachi",
   311  	"Asia/Kashgar",
   312  	"Asia/Kathmandu",
   313  	"Asia/Katmandu",
   314  	"Asia/Khandyga",
   315  	"Asia/Kolkata",
   316  	"Asia/Krasnoyarsk",
   317  	"Asia/Kuala_Lumpur",
   318  	"Asia/Kuching",
   319  	"Asia/Kuwait",
   320  	"Asia/Macao",
   321  	"Asia/Macau",
   322  	"Asia/Magadan",
   323  	"Asia/Makassar",
   324  	"Asia/Manila",
   325  	"Asia/Muscat",
   326  	"Asia/Nicosia",
   327  	"Asia/Novokuznetsk",
   328  	"Asia/Novosibirsk",
   329  	"Asia/Omsk",
   330  	"Asia/Oral",
   331  	"Asia/Phnom_Penh",
   332  	"Asia/Pontianak",
   333  	"Asia/Pyongyang",
   334  	"Asia/Qatar",
   335  	"Asia/Qyzylorda",
   336  	"Asia/Rangoon",
   337  	"Asia/Riyadh",
   338  	"Asia/Saigon",
   339  	"Asia/Sakhalin",
   340  	"Asia/Samarkand",
   341  	"Asia/Seoul",
   342  	"Asia/Shanghai",
   343  	"Asia/Singapore",
   344  	"Asia/Srednekolymsk",
   345  	"Asia/Taipei",
   346  	"Asia/Tashkent",
   347  	"Asia/Tbilisi",
   348  	"Asia/Tehran",
   349  	"Asia/Tel_Aviv",
   350  	"Asia/Thimbu",
   351  	"Asia/Thimphu",
   352  	"Asia/Tokyo",
   353  	"Asia/Tomsk",
   354  	"Asia/Ujung_Pandang",
   355  	"Asia/Ulaanbaatar",
   356  	"Asia/Ulan_Bator",
   357  	"Asia/Urumqi",
   358  	"Asia/Ust-Nera",
   359  	"Asia/Vientiane",
   360  	"Asia/Vladivostok",
   361  	"Asia/Yakutsk",
   362  	"Asia/Yangon",
   363  	"Asia/Yekaterinburg",
   364  	"Asia/Yerevan",
   365  	"Atlantic/Azores",
   366  	"Atlantic/Bermuda",
   367  	"Atlantic/Canary",
   368  	"Atlantic/Cape_Verde",
   369  	"Atlantic/Faeroe",
   370  	"Atlantic/Faroe",
   371  	"Atlantic/Jan_Mayen",
   372  	"Atlantic/Madeira",
   373  	"Atlantic/Reykjavik",
   374  	"Atlantic/South_Georgia",
   375  	"Atlantic/St_Helena",
   376  	"Atlantic/Stanley",
   377  	"Australia/ACT",
   378  	"Australia/Adelaide",
   379  	"Australia/Brisbane",
   380  	"Australia/Broken_Hill",
   381  	"Australia/Canberra",
   382  	"Australia/Currie",
   383  	"Australia/Darwin",
   384  	"Australia/Eucla",
   385  	"Australia/Hobart",
   386  	"Australia/LHI",
   387  	"Australia/Lindeman",
   388  	"Australia/Lord_Howe",
   389  	"Australia/Melbourne",
   390  	"Australia/NSW",
   391  	"Australia/North",
   392  	"Australia/Perth",
   393  	"Australia/Queensland",
   394  	"Australia/South",
   395  	"Australia/Sydney",
   396  	"Australia/Tasmania",
   397  	"Australia/Victoria",
   398  	"Australia/West",
   399  	"Australia/Yancowinna",
   400  	"Brazil/Acre",
   401  	"Brazil/DeNoronha",
   402  	"Brazil/East",
   403  	"Brazil/West",
   404  	"CET",
   405  	"CST6CDT",
   406  	"Canada/Atlantic",
   407  	"Canada/Central",
   408  	"Canada/East-Saskatchewan",
   409  	"Canada/Eastern",
   410  	"Canada/Mountain",
   411  	"Canada/Newfoundland",
   412  	"Canada/Pacific",
   413  	"Canada/Saskatchewan",
   414  	"Canada/Yukon",
   415  	"Chile/Continental",
   416  	"Chile/EasterIsland",
   417  	"Cuba",
   418  	"EET",
   419  	"EST",
   420  	"EST5EDT",
   421  	"Egypt",
   422  	"Eire",
   423  	"Etc/GMT",
   424  	"Etc/GMT+0",
   425  	"Etc/GMT+1",
   426  	"Etc/GMT+10",
   427  	"Etc/GMT+11",
   428  	"Etc/GMT+12",
   429  	"Etc/GMT+2",
   430  	"Etc/GMT+3",
   431  	"Etc/GMT+4",
   432  	"Etc/GMT+5",
   433  	"Etc/GMT+6",
   434  	"Etc/GMT+7",
   435  	"Etc/GMT+8",
   436  	"Etc/GMT+9",
   437  	"Etc/GMT-0",
   438  	"Etc/GMT-1",
   439  	"Etc/GMT-10",
   440  	"Etc/GMT-11",
   441  	"Etc/GMT-12",
   442  	"Etc/GMT-13",
   443  	"Etc/GMT-14",
   444  	"Etc/GMT-2",
   445  	"Etc/GMT-3",
   446  	"Etc/GMT-4",
   447  	"Etc/GMT-5",
   448  	"Etc/GMT-6",
   449  	"Etc/GMT-7",
   450  	"Etc/GMT-8",
   451  	"Etc/GMT-9",
   452  	"Etc/GMT0",
   453  	"Etc/Greenwich",
   454  	"Etc/UCT",
   455  	"Etc/UTC",
   456  	"Etc/Universal",
   457  	"Etc/Zulu",
   458  	"Europe/Amsterdam",
   459  	"Europe/Andorra",
   460  	"Europe/Astrakhan",
   461  	"Europe/Athens",
   462  	"Europe/Belfast",
   463  	"Europe/Belgrade",
   464  	"Europe/Berlin",
   465  	"Europe/Bratislava",
   466  	"Europe/Brussels",
   467  	"Europe/Bucharest",
   468  	"Europe/Budapest",
   469  	"Europe/Busingen",
   470  	"Europe/Chisinau",
   471  	"Europe/Copenhagen",
   472  	"Europe/Dublin",
   473  	"Europe/Gibraltar",
   474  	"Europe/Guernsey",
   475  	"Europe/Helsinki",
   476  	"Europe/Isle_of_Man",
   477  	"Europe/Istanbul",
   478  	"Europe/Jersey",
   479  	"Europe/Kaliningrad",
   480  	"Europe/Kiev",
   481  	"Europe/Kirov",
   482  	"Europe/Lisbon",
   483  	"Europe/Ljubljana",
   484  	"Europe/London",
   485  	"Europe/Luxembourg",
   486  	"Europe/Madrid",
   487  	"Europe/Malta",
   488  	"Europe/Mariehamn",
   489  	"Europe/Minsk",
   490  	"Europe/Monaco",
   491  	"Europe/Moscow",
   492  	"Europe/Nicosia",
   493  	"Europe/Oslo",
   494  	"Europe/Paris",
   495  	"Europe/Podgorica",
   496  	"Europe/Prague",
   497  	"Europe/Riga",
   498  	"Europe/Rome",
   499  	"Europe/Samara",
   500  	"Europe/San_Marino",
   501  	"Europe/Sarajevo",
   502  	"Europe/Saratov",
   503  	"Europe/Simferopol",
   504  	"Europe/Skopje",
   505  	"Europe/Sofia",
   506  	"Europe/Stockholm",
   507  	"Europe/Tallinn",
   508  	"Europe/Tirane",
   509  	"Europe/Tiraspol",
   510  	"Europe/Ulyanovsk",
   511  	"Europe/Uzhgorod",
   512  	"Europe/Vaduz",
   513  	"Europe/Vatican",
   514  	"Europe/Vienna",
   515  	"Europe/Vilnius",
   516  	"Europe/Volgograd",
   517  	"Europe/Warsaw",
   518  	"Europe/Zagreb",
   519  	"Europe/Zaporozhye",
   520  	"Europe/Zurich",
   521  	"Factory",
   522  	"GB",
   523  	"GB-Eire",
   524  	"GMT",
   525  	"GMT+0",
   526  	"GMT-0",
   527  	"GMT0",
   528  	"Greenwich",
   529  	"HST",
   530  	"Hongkong",
   531  	"Iceland",
   532  	"Indian/Antananarivo",
   533  	"Indian/Chagos",
   534  	"Indian/Christmas",
   535  	"Indian/Cocos",
   536  	"Indian/Comoro",
   537  	"Indian/Kerguelen",
   538  	"Indian/Mahe",
   539  	"Indian/Maldives",
   540  	"Indian/Mauritius",
   541  	"Indian/Mayotte",
   542  	"Indian/Reunion",
   543  	"Iran",
   544  	"Israel",
   545  	"Jamaica",
   546  	"Japan",
   547  	"Kwajalein",
   548  	"Libya",
   549  	"MET",
   550  	"MST",
   551  	"MST7MDT",
   552  	"Mexico/BajaNorte",
   553  	"Mexico/BajaSur",
   554  	"Mexico/General",
   555  	"NZ",
   556  	"NZ-CHAT",
   557  	"Navajo",
   558  	"PRC",
   559  	"PST8PDT",
   560  	"Pacific/Apia",
   561  	"Pacific/Auckland",
   562  	"Pacific/Bougainville",
   563  	"Pacific/Chatham",
   564  	"Pacific/Chuuk",
   565  	"Pacific/Easter",
   566  	"Pacific/Efate",
   567  	"Pacific/Enderbury",
   568  	"Pacific/Fakaofo",
   569  	"Pacific/Fiji",
   570  	"Pacific/Funafuti",
   571  	"Pacific/Galapagos",
   572  	"Pacific/Gambier",
   573  	"Pacific/Guadalcanal",
   574  	"Pacific/Guam",
   575  	"Pacific/Honolulu",
   576  	"Pacific/Johnston",
   577  	"Pacific/Kiritimati",
   578  	"Pacific/Kosrae",
   579  	"Pacific/Kwajalein",
   580  	"Pacific/Majuro",
   581  	"Pacific/Marquesas",
   582  	"Pacific/Midway",
   583  	"Pacific/Nauru",
   584  	"Pacific/Niue",
   585  	"Pacific/Norfolk",
   586  	"Pacific/Noumea",
   587  	"Pacific/Pago_Pago",
   588  	"Pacific/Palau",
   589  	"Pacific/Pitcairn",
   590  	"Pacific/Pohnpei",
   591  	"Pacific/Ponape",
   592  	"Pacific/Port_Moresby",
   593  	"Pacific/Rarotonga",
   594  	"Pacific/Saipan",
   595  	"Pacific/Samoa",
   596  	"Pacific/Tahiti",
   597  	"Pacific/Tarawa",
   598  	"Pacific/Tongatapu",
   599  	"Pacific/Truk",
   600  	"Pacific/Wake",
   601  	"Pacific/Wallis",
   602  	"Pacific/Yap",
   603  	"Poland",
   604  	"Portugal",
   605  	"ROC",
   606  	"ROK",
   607  	"Singapore",
   608  	"Turkey",
   609  	"UCT",
   610  	"US/Alaska",
   611  	"US/Aleutian",
   612  	"US/Arizona",
   613  	"US/Central",
   614  	"US/East-Indiana",
   615  	"US/Eastern",
   616  	"US/Hawaii",
   617  	"US/Indiana-Starke",
   618  	"US/Michigan",
   619  	"US/Mountain",
   620  	"US/Pacific",
   621  	"US/Pacific-New",
   622  	"US/Samoa",
   623  	"UTC",
   624  	"Universal",
   625  	"W-SU",
   626  	"WET",
   627  	"Zulu",
   628  }