javascript - 如何将天气 api 转换为当地时间(ReactJS/JavaScript)
问题描述
想要转换为当地时间的原因是我可以用图像更改背景。所以最后我想要像 12:00 或 20:00 这样的时间输出。我的 JSON 看起来像:
{
"lat":52.37,
"lon":4.89,
"timezone":"Europe/Amsterdam",
"timezone_offset":7200,
"current":{
"dt":1593619296,
"sunrise":1593573770,
"sunset":1593633935,
"temp":20.09,
"feels_like":13.21,
"pressure":1006,
"humidity":56,
"dew_point":11.05,
"uvi":6.73,
"clouds":20,
"visibility":10000,
"wind_speed":10.3,
"wind_deg":260,
"weather":[
{
"id":801,
"main":"Clouds",
"description":"few clouds",
"icon":"02d"
}
],
"rain":{
}
},
解决方案
如果我正确地抓住了你的问题,你需要这样的东西(例如,你可以把它重构得更漂亮):
const dt = new Date(weatherData.current.dt * 1000);
const sunrise = new Date(weatherData.current.sunrise * 1000);
const sunset = new Date(weatherData.current.sunset * 1000);
我们将秒数乘以 1000,因为 JS 中的时间戳以毫秒为单位,而不是像 Unix 操作系统那样以秒为单位。
之后,您可以使用对象通过Date APIDate
获取您想要的内容。我想,你想要方法。.getHours()
推荐阅读
- chisel - 如何使用 ScalaBlackBox 编写累加器?
- node-webkit - 如何从 NWJS 后台脚本到达窗口?
- java - 为什么方法 RXTXCommDriver.nativeGetVersion() 不起作用
- css - 使用引导程序 4 垂直对齐到 3 项列
- zapier - 克隆 Zapier 应用程序时收到错误消息
- css - 如何做这个布局
- ruby-on-rails - 如何保存使用 simple_form 复选框检查的数据?
- mysql - mysql中树状结构的查询(分层查询)
- excel - VBA 基于多个动态标准查找唯一不同的值
- javascript - 如何将 javascript 库导入简单的 .js 文件?