text: import dayjs from "dayjs";
  import timezone from "dayjs/plugin/timezone";
  import utc from "dayjs/plugin/utc";
  import timezones from "timezones-list";
  
  dayjs.extend(utc)
  dayjs.extend(timezone)
  
  function getTimezoneOffset(timeZone) {
      const now = new Date();
      const tzString = now.toLocaleString("en-US", {
          timeZone,
      });
      const localString = now.toLocaleString("en-US");
      const diff = (Date.parse(localString) - Date.parse(tzString)) / 3600000;
      const offset = diff + now.getTimezoneOffset() / 60;
      return -offset;
  }
  
  export function timezoneList() {
      let result = [];
  
      for (let timezone of timezones) {
          try {
              let display = dayjs().tz(timezone.tzCode).format("Z");
  
              result.push({
                  name: `(UTC${display}) ${timezone.tzCode}`,
                  value: timezone.tzCode,
                  time: getTimezoneOffset(timezone.tzCode),
              })
          } catch (e) {
              console.log("Skip Timezone: " + timezone.tzCode);
          }
      }
  
      result.sort((a, b) => {
          if (a.time > b.time) {
              return 1;
          }
  
          if (b.time > a.time) {
              return -1;
          }
  
          return 0;
      })
  
      return result;
  }
  