当给定 UTC 时间(以毫秒为单位)和 timezoneOffset 时,如何提取本地时间和年份?

问题描述 投票:0回答:1

在javascript中,给出了一个:

  1. 1970 年以来的 UTC 毫秒
  2. timezone本地时区的偏移量

从上面,如何提取timezoneOffset隐含的本地时间和年份?

javascript date timezone utc timezone-offset
1个回答
1
投票

你的问题很模糊,但是...

仅从 JavaScript 中的 UTC 毫秒和 timezoneOffset 中提取准确的本地时间并不完全可能。因为 TimezoneOffset 只提供偏移量,有些时区全年都有 DST 变化。

你仍然可以做类似的事情:

function getLocalTimeFromUTC(utcMillis, timezoneOffset) {
  // 1. Create a Date object from UTC milliseconds
  const date = new Date(utcMillis);

  // 2. Adjust for timezone offset (in minutes)
  date.setMinutes(date.getMinutes() + timezoneOffset);

  // 3. Extract local year
  const year = date.getFullYear();

  // 4. Local time with potential DST ambiguity (consider libraries for advanced handling)
  const localTime = date.toLocaleTimeString();

  return { year, localTime };
}
© www.soinside.com 2019 - 2024. All rights reserved.