Timezone API. Is there one available?

Hi,

Was wondering if anyone knows of a Timezone API that i could hook into?

Would like to offer users on their profile page to select their timezone so they can match up to user in a similar timezone?

Many thanks

I’d go for Google APIs if you need server side, and moment timezone for client side.

1 Like

@mishav is not wrong, but you can retrieve Timezone and Timezone ID in vanilla Bubble. They are subproperties of geographic locations.

So, the interface for this is:

Ask user for their address. Explain that the purpose is to get their local Timezone.

Retrieve Timezone ID (not Timezone) from that location. STORE the Timezone ID on the user.

The reason you want to not read it constantly from location is that calls to Timezone and Timezone ID subfields consume geolocation API capacity and you can easily overrun that.

1 Like

The Google Timezone API is also very easy to configure separately in API Connector should you need to.

BTW, search the forum for posts from me about Timezone and Timezone ID to learn more about these and what u can do. One of those threads is me explaining a bug (which has since been fixed) in Bubble’s Google Timezone implemention where I explain the diff between TZ and TZ ID.

1 Like

Agree with going through Google Maps / Bubble’s built-in timezone feature.

But, if that isn’t an option, I created a plugin that overlaps with your use case. Link below.

1 Like

This looks really useful Dan. Cannot see where to work with timezones though Dan?

Many thanks

Thanks Keith. Will do a search on the forum for your past posts.

Yep, here’s a video walkthrough.

2 Likes

Yup. Just noticed the video link :slight_smile:

Any pointers on how I could turn this into a select menu for users to choose from a list of timezones?

Many thanks

I could add a Data Type with the following entries -

and work from that I suppose? That would work ok?

This has a timezone download.

However it may just be easier to ask them to type in their location (with the typeahead search) and pull the time zone from that.

See “Add Team Member”…

1 Like

From your post here, it looks like you got it covered. But yes, using @NigelG’s API approach or search fields would be good options.

1 Like

Search fields?

Meant to say search based approach* (based on records in the database), not search fields.

1 Like

You already have that: If you derive Timezone ID from the user’s location (either you have them enter a geo address or get an approximation via IP tricks and then you just do That_geo_location’s Timezone ID – using Bubble – you’ll have a text object with their Timezone ID.

AND that’s the right way to do it BECAUSE there are more than 500 Timezone IDs.

If you want a complete list, just build a page that loads moment-timezone (or go visit one like any of the calendars on my GRUPZ site - like here https://grupz.com/avail-calendar-simple-18/1533598513737x940983987061391400) and then hit F12 to open the console.

In the console, execute (meaning just type this in at the console prompt):

moment.tz.names();

Here’s what you’ll see… You really don’t want to make a dropdown this long! Get Timezone ID from a LOCATION:

  1. 0: “Africa/Abidjan”

  2. 1: “Africa/Accra”

  3. 2: “Africa/Addis_Ababa”

  4. 3: “Africa/Algiers”

  5. 4: “Africa/Asmara”

  6. 5: “Africa/Asmera”

  7. 6: “Africa/Bamako”

  8. 7: “Africa/Bangui”

  9. 8: “Africa/Banjul”

  10. 9: “Africa/Bissau”

  11. 10: “Africa/Blantyre”

  12. 11: “Africa/Brazzaville”

  13. 12: “Africa/Bujumbura”

  14. 13: “Africa/Cairo”

  15. 14: “Africa/Casablanca”

  16. 15: “Africa/Ceuta”

  17. 16: “Africa/Conakry”

  18. 17: “Africa/Dakar”

  19. 18: “Africa/Dar_es_Salaam”

  20. 19: “Africa/Djibouti”

  21. 20: “Africa/Douala”

  22. 21: “Africa/El_Aaiun”

  23. 22: “Africa/Freetown”

  24. 23: “Africa/Gaborone”

  25. 24: “Africa/Harare”

  26. 25: “Africa/Johannesburg”

  27. 26: “Africa/Juba”

  28. 27: “Africa/Kampala”

  29. 28: “Africa/Khartoum”

  30. 29: “Africa/Kigali”

  31. 30: “Africa/Kinshasa”

  32. 31: “Africa/Lagos”

  33. 32: “Africa/Libreville”

  34. 33: “Africa/Lome”

  35. 34: “Africa/Luanda”

  36. 35: “Africa/Lubumbashi”

  37. 36: “Africa/Lusaka”

  38. 37: “Africa/Malabo”

  39. 38: “Africa/Maputo”

  40. 39: “Africa/Maseru”

  41. 40: “Africa/Mbabane”

  42. 41: “Africa/Mogadishu”

  43. 42: “Africa/Monrovia”

  44. 43: “Africa/Nairobi”

  45. 44: “Africa/Ndjamena”

  46. 45: “Africa/Niamey”

  47. 46: “Africa/Nouakchott”

  48. 47: “Africa/Ouagadougou”

  49. 48: “Africa/Porto-Novo”

  50. 49: “Africa/Sao_Tome”

  51. 50: “Africa/Timbuktu”

  52. 51: “Africa/Tripoli”

  53. 52: “Africa/Tunis”

  54. 53: “Africa/Windhoek”

  55. 54: “America/Adak”

  56. 55: “America/Anchorage”

  57. 56: “America/Anguilla”

  58. 57: “America/Antigua”

  59. 58: “America/Araguaina”

  60. 59: “America/Argentina/Buenos_Aires”

  61. 60: “America/Argentina/Catamarca”

  62. 61: “America/Argentina/ComodRivadavia”

  63. 62: “America/Argentina/Cordoba”

  64. 63: “America/Argentina/Jujuy”

  65. 64: “America/Argentina/La_Rioja”

  66. 65: “America/Argentina/Mendoza”

  67. 66: “America/Argentina/Rio_Gallegos”

  68. 67: “America/Argentina/Salta”

  69. 68: “America/Argentina/San_Juan”

  70. 69: “America/Argentina/San_Luis”

  71. 70: “America/Argentina/Tucuman”

  72. 71: “America/Argentina/Ushuaia”

  73. 72: “America/Aruba”

  74. 73: “America/Asuncion”

  75. 74: “America/Atikokan”

  76. 75: “America/Atka”

  77. 76: “America/Bahia”

  78. 77: “America/Bahia_Banderas”

  79. 78: “America/Barbados”

  80. 79: “America/Belem”

  81. 80: “America/Belize”

  82. 81: “America/Blanc-Sablon”

  83. 82: “America/Boa_Vista”

  84. 83: “America/Bogota”

  85. 84: “America/Boise”

  86. 85: “America/Buenos_Aires”

  87. 86: “America/Cambridge_Bay”

  88. 87: “America/Campo_Grande”

  89. 88: “America/Cancun”

  90. 89: “America/Caracas”

  91. 90: “America/Catamarca”

  92. 91: “America/Cayenne”

  93. 92: “America/Cayman”

  94. 93: “America/Chicago”

  95. 94: “America/Chihuahua”

  96. 95: “America/Coral_Harbour”

  97. 96: “America/Cordoba”

  98. 97: “America/Costa_Rica”

  99. 98: “America/Creston”

  100. 99: “America/Cuiaba”

  101. [100 … 199]

  102. 100: “America/Curacao”

  103. 101: “America/Danmarkshavn”

  104. 102: “America/Dawson”

  105. 103: “America/Dawson_Creek”

  106. 104: “America/Denver”

  107. 105: “America/Detroit”

  108. 106: “America/Dominica”

  109. 107: “America/Edmonton”

  110. 108: “America/Eirunepe”

  111. 109: “America/El_Salvador”

  112. 110: “America/Ensenada”

  113. 111: “America/Fort_Nelson”

  114. 112: “America/Fort_Wayne”

  115. 113: “America/Fortaleza”

  116. 114: “America/Glace_Bay”

  117. 115: “America/Godthab”

  118. 116: “America/Goose_Bay”

  119. 117: “America/Grand_Turk”

  120. 118: “America/Grenada”

  121. 119: “America/Guadeloupe”

  122. 120: “America/Guatemala”

  123. 121: “America/Guayaquil”

  124. 122: “America/Guyana”

  125. 123: “America/Halifax”

  126. 124: “America/Havana”

  127. 125: “America/Hermosillo”

  128. 126: “America/Indiana/Indianapolis”

  129. 127: “America/Indiana/Knox”

  130. 128: “America/Indiana/Marengo”

  131. 129: “America/Indiana/Petersburg”

  132. 130: “America/Indiana/Tell_City”

  133. 131: “America/Indiana/Vevay”

  134. 132: “America/Indiana/Vincennes”

  135. 133: “America/Indiana/Winamac”

  136. 134: “America/Indianapolis”

  137. 135: “America/Inuvik”

  138. 136: “America/Iqaluit”

  139. 137: “America/Jamaica”

  140. 138: “America/Jujuy”

  141. 139: “America/Juneau”

  142. 140: “America/Kentucky/Louisville”

  143. 141: “America/Kentucky/Monticello”

  144. 142: “America/Knox_IN”

  145. 143: “America/Kralendijk”

  146. 144: “America/La_Paz”

  147. 145: “America/Lima”

  148. 146: “America/Los_Angeles”

  149. 147: “America/Louisville”

  150. 148: “America/Lower_Princes”

  151. 149: “America/Maceio”

  152. 150: “America/Managua”

  153. 151: “America/Manaus”

  154. 152: “America/Marigot”

  155. 153: “America/Martinique”

  156. 154: “America/Matamoros”

  157. 155: “America/Mazatlan”

  158. 156: “America/Mendoza”

  159. 157: “America/Menominee”

  160. 158: “America/Merida”

  161. 159: “America/Metlakatla”

  162. 160: “America/Mexico_City”

  163. 161: “America/Miquelon”

  164. 162: “America/Moncton”

  165. 163: “America/Monterrey”

  166. 164: “America/Montevideo”

  167. 165: “America/Montreal”

  168. 166: “America/Montserrat”

  169. 167: “America/Nassau”

  170. 168: “America/New_York”

  171. 169: “America/Nipigon”

  172. 170: “America/Nome”

  173. 171: “America/Noronha”

  174. 172: “America/North_Dakota/Beulah”

  175. 173: “America/North_Dakota/Center”

  176. 174: “America/North_Dakota/New_Salem”

  177. 175: “America/Ojinaga”

  178. 176: “America/Panama”

  179. 177: “America/Pangnirtung”

  180. 178: “America/Paramaribo”

  181. 179: “America/Phoenix”

  182. 180: “America/Port-au-Prince”

  183. 181: “America/Port_of_Spain”

  184. 182: “America/Porto_Acre”

  185. 183: “America/Porto_Velho”

  186. 184: “America/Puerto_Rico”

  187. 185: “America/Punta_Arenas”

  188. 186: “America/Rainy_River”

  189. 187: “America/Rankin_Inlet”

  190. 188: “America/Recife”

  191. 189: “America/Regina”

  192. 190: “America/Resolute”

  193. 191: “America/Rio_Branco”

  194. 192: “America/Rosario”

  195. 193: “America/Santa_Isabel”

  196. 194: “America/Santarem”

  197. 195: “America/Santiago”

  198. 196: “America/Santo_Domingo”

  199. 197: “America/Sao_Paulo”

  200. 198: “America/Scoresbysund”

  201. 199: “America/Shiprock”

  202. [200 … 299]

  203. 200: “America/Sitka”

  204. 201: “America/St_Barthelemy”

  205. 202: “America/St_Johns”

  206. 203: “America/St_Kitts”

  207. 204: “America/St_Lucia”

  208. 205: “America/St_Thomas”

  209. 206: “America/St_Vincent”

  210. 207: “America/Swift_Current”

  211. 208: “America/Tegucigalpa”

  212. 209: “America/Thule”

  213. 210: “America/Thunder_Bay”

  214. 211: “America/Tijuana”

  215. 212: “America/Toronto”

  216. 213: “America/Tortola”

  217. 214: “America/Vancouver”

  218. 215: “America/Virgin”

  219. 216: “America/Whitehorse”

  220. 217: “America/Winnipeg”

  221. 218: “America/Yakutat”

  222. 219: “America/Yellowknife”

  223. 220: “Antarctica/Casey”

  224. 221: “Antarctica/Davis”

  225. 222: “Antarctica/DumontDUrville”

  226. 223: “Antarctica/Macquarie”

  227. 224: “Antarctica/Mawson”

  228. 225: “Antarctica/McMurdo”

  229. 226: “Antarctica/Palmer”

  230. 227: “Antarctica/Rothera”

  231. 228: “Antarctica/South_Pole”

  232. 229: “Antarctica/Syowa”

  233. 230: “Antarctica/Troll”

  234. 231: “Antarctica/Vostok”

  235. 232: “Arctic/Longyearbyen”

  236. 233: “Asia/Aden”

  237. 234: “Asia/Almaty”

  238. 235: “Asia/Amman”

  239. 236: “Asia/Anadyr”

  240. 237: “Asia/Aqtau”

  241. 238: “Asia/Aqtobe”

  242. 239: “Asia/Ashgabat”

  243. 240: “Asia/Ashkhabad”

  244. 241: “Asia/Atyrau”

  245. 242: “Asia/Baghdad”

  246. 243: “Asia/Bahrain”

  247. 244: “Asia/Baku”

  248. 245: “Asia/Bangkok”

  249. 246: “Asia/Barnaul”

  250. 247: “Asia/Beirut”

  251. 248: “Asia/Bishkek”

  252. 249: “Asia/Brunei”

  253. 250: “Asia/Calcutta”

  254. 251: “Asia/Chita”

  255. 252: “Asia/Choibalsan”

  256. 253: “Asia/Chongqing”

  257. 254: “Asia/Chungking”

  258. 255: “Asia/Colombo”

  259. 256: “Asia/Dacca”

  260. 257: “Asia/Damascus”

  261. 258: “Asia/Dhaka”

  262. 259: “Asia/Dili”

  263. 260: “Asia/Dubai”

  264. 261: “Asia/Dushanbe”

  265. 262: “Asia/Famagusta”

  266. 263: “Asia/Gaza”

  267. 264: “Asia/Harbin”

  268. 265: “Asia/Hebron”

  269. 266: “Asia/Ho_Chi_Minh”

  270. 267: “Asia/Hong_Kong”

  271. 268: “Asia/Hovd”

  272. 269: “Asia/Irkutsk”

  273. 270: “Asia/Istanbul”

  274. 271: “Asia/Jakarta”

  275. 272: “Asia/Jayapura”

  276. 273: “Asia/Jerusalem”

  277. 274: “Asia/Kabul”

  278. 275: “Asia/Kamchatka”

  279. 276: “Asia/Karachi”

  280. 277: “Asia/Kashgar”

  281. 278: “Asia/Kathmandu”

  282. 279: “Asia/Katmandu”

  283. 280: “Asia/Khandyga”

  284. 281: “Asia/Kolkata”

  285. 282: “Asia/Krasnoyarsk”

  286. 283: “Asia/Kuala_Lumpur”

  287. 284: “Asia/Kuching”

  288. 285: “Asia/Kuwait”

  289. 286: “Asia/Macao”

  290. 287: “Asia/Macau”

  291. 288: “Asia/Magadan”

  292. 289: “Asia/Makassar”

  293. 290: “Asia/Manila”

  294. 291: “Asia/Muscat”

  295. 292: “Asia/Nicosia”

  296. 293: “Asia/Novokuznetsk”

  297. 294: “Asia/Novosibirsk”

  298. 295: “Asia/Omsk”

  299. 296: “Asia/Oral”

  300. 297: “Asia/Phnom_Penh”

  301. 298: “Asia/Pontianak”

  302. 299: “Asia/Pyongyang”

  303. [300 … 399]

  304. 300: “Asia/Qatar”

  305. 301: “Asia/Qyzylorda”

  306. 302: “Asia/Rangoon”

  307. 303: “Asia/Riyadh”

  308. 304: “Asia/Saigon”

  309. 305: “Asia/Sakhalin”

  310. 306: “Asia/Samarkand”

  311. 307: “Asia/Seoul”

  312. 308: “Asia/Shanghai”

  313. 309: “Asia/Singapore”

  314. 310: “Asia/Srednekolymsk”

  315. 311: “Asia/Taipei”

  316. 312: “Asia/Tashkent”

  317. 313: “Asia/Tbilisi”

  318. 314: “Asia/Tehran”

  319. 315: “Asia/Tel_Aviv”

  320. 316: “Asia/Thimbu”

  321. 317: “Asia/Thimphu”

  322. 318: “Asia/Tokyo”

  323. 319: “Asia/Tomsk”

  324. 320: “Asia/Ujung_Pandang”

  325. 321: “Asia/Ulaanbaatar”

  326. 322: “Asia/Ulan_Bator”

  327. 323: “Asia/Urumqi”

  328. 324: “Asia/Ust-Nera”

  329. 325: “Asia/Vientiane”

  330. 326: “Asia/Vladivostok”

  331. 327: “Asia/Yakutsk”

  332. 328: “Asia/Yangon”

  333. 329: “Asia/Yekaterinburg”

  334. 330: “Asia/Yerevan”

  335. 331: “Atlantic/Azores”

  336. 332: “Atlantic/Bermuda”

  337. 333: “Atlantic/Canary”

  338. 334: “Atlantic/Cape_Verde”

  339. 335: “Atlantic/Faeroe”

  340. 336: “Atlantic/Faroe”

  341. 337: “Atlantic/Jan_Mayen”

  342. 338: “Atlantic/Madeira”

  343. 339: “Atlantic/Reykjavik”

  344. 340: “Atlantic/South_Georgia”

  345. 341: “Atlantic/St_Helena”

  346. 342: “Atlantic/Stanley”

  347. 343: “Australia/ACT”

  348. 344: “Australia/Adelaide”

  349. 345: “Australia/Brisbane”

  350. 346: “Australia/Broken_Hill”

  351. 347: “Australia/Canberra”

  352. 348: “Australia/Currie”

  353. 349: “Australia/Darwin”

  354. 350: “Australia/Eucla”

  355. 351: “Australia/Hobart”

  356. 352: “Australia/LHI”

  357. 353: “Australia/Lindeman”

  358. 354: “Australia/Lord_Howe”

  359. 355: “Australia/Melbourne”

  360. 356: “Australia/NSW”

  361. 357: “Australia/North”

  362. 358: “Australia/Perth”

  363. 359: “Australia/Queensland”

  364. 360: “Australia/South”

  365. 361: “Australia/Sydney”

  366. 362: “Australia/Tasmania”

  367. 363: “Australia/Victoria”

  368. 364: “Australia/West”

  369. 365: “Australia/Yancowinna”

  370. 366: “Brazil/Acre”

  371. 367: “Brazil/DeNoronha”

  372. 368: “Brazil/East”

  373. 369: “Brazil/West”

  374. 370: “CET”

  375. 371: “CST6CDT”

  376. 372: “Canada/Atlantic”

  377. 373: “Canada/Central”

  378. 374: “Canada/Eastern”

  379. 375: “Canada/Mountain”

  380. 376: “Canada/Newfoundland”

  381. 377: “Canada/Pacific”

  382. 378: “Canada/Saskatchewan”

  383. 379: “Canada/Yukon”

  384. 380: “Chile/Continental”

  385. 381: “Chile/EasterIsland”

  386. 382: “Cuba”

  387. 383: “EET”

  388. 384: “EST”

  389. 385: “EST5EDT”

  390. 386: “Egypt”

  391. 387: “Eire”

  392. 388: “Etc/GMT”

  393. 389: “Etc/GMT+0”

  394. 390: “Etc/GMT+1”

  395. 391: “Etc/GMT+10”

  396. 392: “Etc/GMT+11”

  397. 393: “Etc/GMT+12”

  398. 394: “Etc/GMT+2”

  399. 395: “Etc/GMT+3”

  400. 396: “Etc/GMT+4”

  401. 397: “Etc/GMT+5”

  402. 398: “Etc/GMT+6”

  403. 399: “Etc/GMT+7”

  404. [400 … 499]

  405. 400: “Etc/GMT+8”

  406. 401: “Etc/GMT+9”

  407. 402: “Etc/GMT-0”

  408. 403: “Etc/GMT-1”

  409. 404: “Etc/GMT-10”

  410. 405: “Etc/GMT-11”

  411. 406: “Etc/GMT-12”

  412. 407: “Etc/GMT-13”

  413. 408: “Etc/GMT-14”

  414. 409: “Etc/GMT-2”

  415. 410: “Etc/GMT-3”

  416. 411: “Etc/GMT-4”

  417. 412: “Etc/GMT-5”

  418. 413: “Etc/GMT-6”

  419. 414: “Etc/GMT-7”

  420. 415: “Etc/GMT-8”

  421. 416: “Etc/GMT-9”

  422. 417: “Etc/GMT0”

  423. 418: “Etc/Greenwich”

  424. 419: “Etc/UCT”

  425. 420: “Etc/UTC”

  426. 421: “Etc/Universal”

  427. 422: “Etc/Zulu”

  428. 423: “Europe/Amsterdam”

  429. 424: “Europe/Andorra”

  430. 425: “Europe/Astrakhan”

  431. 426: “Europe/Athens”

  432. 427: “Europe/Belfast”

  433. 428: “Europe/Belgrade”

  434. 429: “Europe/Berlin”

  435. 430: “Europe/Bratislava”

  436. 431: “Europe/Brussels”

  437. 432: “Europe/Bucharest”

  438. 433: “Europe/Budapest”

  439. 434: “Europe/Busingen”

  440. 435: “Europe/Chisinau”

  441. 436: “Europe/Copenhagen”

  442. 437: “Europe/Dublin”

  443. 438: “Europe/Gibraltar”

  444. 439: “Europe/Guernsey”

  445. 440: “Europe/Helsinki”

  446. 441: “Europe/Isle_of_Man”

  447. 442: “Europe/Istanbul”

  448. 443: “Europe/Jersey”

  449. 444: “Europe/Kaliningrad”

  450. 445: “Europe/Kiev”

  451. 446: “Europe/Kirov”

  452. 447: “Europe/Lisbon”

  453. 448: “Europe/Ljubljana”

  454. 449: “Europe/London”

  455. 450: “Europe/Luxembourg”

  456. 451: “Europe/Madrid”

  457. 452: “Europe/Malta”

  458. 453: “Europe/Mariehamn”

  459. 454: “Europe/Minsk”

  460. 455: “Europe/Monaco”

  461. 456: “Europe/Moscow”

  462. 457: “Europe/Nicosia”

  463. 458: “Europe/Oslo”

  464. 459: “Europe/Paris”

  465. 460: “Europe/Podgorica”

  466. 461: “Europe/Prague”

  467. 462: “Europe/Riga”

  468. 463: “Europe/Rome”

  469. 464: “Europe/Samara”

  470. 465: “Europe/San_Marino”

  471. 466: “Europe/Sarajevo”

  472. 467: “Europe/Saratov”

  473. 468: “Europe/Simferopol”

  474. 469: “Europe/Skopje”

  475. 470: “Europe/Sofia”

  476. 471: “Europe/Stockholm”

  477. 472: “Europe/Tallinn”

  478. 473: “Europe/Tirane”

  479. 474: “Europe/Tiraspol”

  480. 475: “Europe/Ulyanovsk”

  481. 476: “Europe/Uzhgorod”

  482. 477: “Europe/Vaduz”

  483. 478: “Europe/Vatican”

  484. 479: “Europe/Vienna”

  485. 480: “Europe/Vilnius”

  486. 481: “Europe/Volgograd”

  487. 482: “Europe/Warsaw”

  488. 483: “Europe/Zagreb”

  489. 484: “Europe/Zaporozhye”

  490. 485: “Europe/Zurich”

  491. 486: “GB”

  492. 487: “GB-Eire”

  493. 488: “GMT”

  494. 489: “GMT+0”

  495. 490: “GMT-0”

  496. 491: “GMT0”

  497. 492: “Greenwich”

  498. 493: “HST”

  499. 494: “Hongkong”

  500. 495: “Iceland”

  501. 496: “Indian/Antananarivo”

  502. 497: “Indian/Chagos”

  503. 498: “Indian/Christmas”

  504. 499: “Indian/Cocos”

  505. [500 … 591]

  506. 500: “Indian/Comoro”

  507. 501: “Indian/Kerguelen”

  508. 502: “Indian/Mahe”

  509. 503: “Indian/Maldives”

  510. 504: “Indian/Mauritius”

  511. 505: “Indian/Mayotte”

  512. 506: “Indian/Reunion”

  513. 507: “Iran”

  514. 508: “Israel”

  515. 509: “Jamaica”

  516. 510: “Japan”

  517. 511: “Kwajalein”

  518. 512: “Libya”

  519. 513: “MET”

  520. 514: “MST”

  521. 515: “MST7MDT”

  522. 516: “Mexico/BajaNorte”

  523. 517: “Mexico/BajaSur”

  524. 518: “Mexico/General”

  525. 519: “NZ”

  526. 520: “NZ-CHAT”

  527. 521: “Navajo”

  528. 522: “PRC”

  529. 523: “PST8PDT”

  530. 524: “Pacific/Apia”

  531. 525: “Pacific/Auckland”

  532. 526: “Pacific/Bougainville”

  533. 527: “Pacific/Chatham”

  534. 528: “Pacific/Chuuk”

  535. 529: “Pacific/Easter”

  536. 530: “Pacific/Efate”

  537. 531: “Pacific/Enderbury”

  538. 532: “Pacific/Fakaofo”

  539. 533: “Pacific/Fiji”

  540. 534: “Pacific/Funafuti”

  541. 535: “Pacific/Galapagos”

  542. 536: “Pacific/Gambier”

  543. 537: “Pacific/Guadalcanal”

  544. 538: “Pacific/Guam”

  545. 539: “Pacific/Honolulu”

  546. 540: “Pacific/Johnston”

  547. 541: “Pacific/Kiritimati”

  548. 542: “Pacific/Kosrae”

  549. 543: “Pacific/Kwajalein”

  550. 544: “Pacific/Majuro”

  551. 545: “Pacific/Marquesas”

  552. 546: “Pacific/Midway”

  553. 547: “Pacific/Nauru”

  554. 548: “Pacific/Niue”

  555. 549: “Pacific/Norfolk”

  556. 550: “Pacific/Noumea”

  557. 551: “Pacific/Pago_Pago”

  558. 552: “Pacific/Palau”

  559. 553: “Pacific/Pitcairn”

  560. 554: “Pacific/Pohnpei”

  561. 555: “Pacific/Ponape”

  562. 556: “Pacific/Port_Moresby”

  563. 557: “Pacific/Rarotonga”

  564. 558: “Pacific/Saipan”

  565. 559: “Pacific/Samoa”

  566. 560: “Pacific/Tahiti”

  567. 561: “Pacific/Tarawa”

  568. 562: “Pacific/Tongatapu”

  569. 563: “Pacific/Truk”

  570. 564: “Pacific/Wake”

  571. 565: “Pacific/Wallis”

  572. 566: “Pacific/Yap”

  573. 567: “Poland”

  574. 568: “Portugal”

  575. 569: “ROC”

  576. 570: “ROK”

  577. 571: “Singapore”

  578. 572: “Turkey”

  579. 573: “UCT”

  580. 574: “US/Alaska”

  581. 575: “US/Aleutian”

  582. 576: “US/Arizona”

  583. 577: “US/Central”

  584. 578: “US/East-Indiana”

  585. 579: “US/Eastern”

  586. 580: “US/Hawaii”

  587. 581: “US/Indiana-Starke”

  588. 582: “US/Michigan”

  589. 583: “US/Mountain”

  590. 584: “US/Pacific”

  591. 585: “US/Pacific-New”

  592. 586: “US/Samoa”

  593. 587: “UTC”

  594. 588: “Universal”

  595. 589: “W-SU”

  596. 590: “WET”

  597. 591: “Zulu”

  598. length: 592

1 Like

NOW, consider that each of those Timezone IDs (well, most of them) have multiple Timezones within them at various times of the year. (Like, where I live in Pacific Time, we have Pacific Standard Time and Pacific Daylight Time, depending on what time year it is.)

A human really can’t select that. So what you do is have the human enter something that’s easy – their location. And then Bubble can just give you their Timezone ID and current Timezone whenever you need it (again, that’s just any_geo_address’s Timezone ID [the things I show above] or any_geo_address’s Timezone [for the actual current Timezone - like PST vs PDT]).

Caveat, I recommend grabbing Timezone ID and storing that on some object, as I’ve mentioned before.

When Bubble dialogs show you a place to enter a “Timezone”, what that really is is the “Timezone ID”*.

So like, when you format a date, you have the option of specifying a time zone. Just put a Timezone ID value in there and the date/time presentation will be computed correctly.

The point is that Timezone IDs never change. “Timezone names” change throughout the year. All you have to do is ask a user for their location (or the location of something you care about) once and then you can always get to the current local time/date at that location accurately.

4 Likes

One more thing. Whether you snag TZ IDs or TZ Names, you want to that sparingly because of this:

If you for example build a repeating group with a ton of dates in it, all of which you are formatting via thing’s geo address’s Timezone ID (or Timezone Name), you will be pinging Googles api every single instance and can overrun your limits very quickly.

So, since these are just texts, snag the text once and send that text to the Timezone selector dialog.

@NigelG Would love to implement something similar to what you’ve done with Teamytime. Basically, type in city name, show possible results, choose an option and this gets saved to the DB and displayed.

Any pointers you could give? Have setup the TimeZoneDB API, and currently have a dropdown which is just ridiculously long. Your method seems like a more manageable option.

Many thanks

Hi there,

I just used the native Bubble functions.

Will set up an example and share it with you.

1 Like

An example would be awesome Nigel. Much appreciated.

I’ve not been in love with a tool like Bubble for a long time. There’s so much that can be achieved with it!