使用 moment 将 Utc 转换为自定义时区

Convert Utc to custom timezone using moment

我编写了以下函数,使用 momentjs 将 UTC 时间转换为自定义时区

function convert(time, timezone) {

  time = moment.utc(time, 'h:mm a').tz(timezone);
  return time

}

console.log(convert('06:21pm', 'America/New_York'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone.min.js" integrity="sha512-jkvef+BAlqJubZdUhcyvaE84uD9XOoLR3e5GGX7YW7y8ywt0rwcGmTQHoxSMRzrJA3+Jh2T8Uy6f8TLU3WQhpQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

当我调用像 convert('06:21pm', 'America/New_York') 这样的函数时,我得到的结果是未定义的。你能告诉我我做错了什么吗

您导入的脚本没有时区数据,请尝试使用:

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data-1970-2030.js" integrity="sha512-em60km3Olu0GWvK2C3BndCQAYhHyv637yD2PBdR1pAZnmIqjBy0nzKOu64Qx7Q9yesAlFRwvP4GK0gP9jIvM2w==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>