【发布时间】:2020-10-04 03:36:34
【问题描述】:
我正在使用 Open Weather API 创建一个简单的天气 React 应用程序。我还在为天气图标使用外部库。
用户输入城市名称并根据描述获取带有特定图标的当前温度。
我的问题是无法判断是白天还是黑夜,这取决于需要显示的图标。
我从数据中得知 Unix 时间戳正在为城市获取,但是当我转换它时,显示的是本地时间。还有一个时区偏移,但据我了解,无法在 JavaScript 中转换为城市名称。我检查了npm 包,但找不到。我希望能够获取正在搜索的特定城市的日期/时间,而不是我的当地时间。
我应该继续使用另一个 API 吗?以下是从伦敦提取的数据:
{coord: {…}, weather: Array(1), base: "stations", main: {…}, visibility: 10000, …}
base: "stations"
clouds: {all: 40}
cod: 200
coord: {lon: -0.13, lat: 51.51}
dt: 1592155233
id: 2643743
main: {temp: 71.8, feels_like: 66.69, temp_min: 71.01, temp_max: 73, pressure: 1014, …}
name: "London"
sys: {type: 1, id: 1414, country: "GB", sunrise: 1592106173, sunset: 1592165939}
timezone: 3600
visibility: 10000
weather: Array(1)
0: {id: 802, main: "Clouds", description: "scattered clouds", icon: "03d"}
length: 1
__proto__: Array(0)
wind: {speed: 9.17, deg: 170}
【问题讨论】:
-
sunrise和sunset是 UTC 值,Date.getTime()也是如此,因此与日落/日出的比较应该很容易确定白天/黑夜 -
我肯定是想多了。这是我一直在寻找的答案。您能否将其写在答案中,以便我标记完成?
标签: javascript reactjs npm fetch openweathermap