Date 如何将openweather unix时间戳转换为正确的日期

Date 如何将openweather unix时间戳转换为正确的日期,date,datetime,utc,unix-timestamp,openweathermap,Date,Datetime,Utc,Unix Timestamp,Openweathermap,我看到很多帖子告诉我,你只需要将时间戳乘以1000,但问题是我得到的时间总是比预期的少 这是我的代码: const getCity = async () => //fetch city logic const city = await getCity(); const time = new Date(city.dt * 1000); console.log(time.getMinutes()); { .... "dt": 1560350645, <--

我看到很多帖子告诉我,你只需要将时间戳乘以1000,但问题是我得到的时间总是比预期的少

这是我的代码:

const getCity = async () => //fetch city logic
const city = await getCity();
const time = new Date(city.dt * 1000);
console.log(time.getMinutes());
{
  ....
  "dt": 1560350645, <-- Time of data calculation, unix, UTC
  "timezone": -25200,
  ...
 }    
           
当前时间:11:58
执行产量:58
实际输出:47

下面是一个JSON响应示例:

const getCity = async () => //fetch city logic
const city = await getCity();
const time = new Date(city.dt * 1000);
console.log(time.getMinutes());
{
  ....
  "dt": 1560350645, <-- Time of data calculation, unix, UTC
  "timezone": -25200,
  ...
 }    
           
{
....

“dt”:156050645,事实证明,时间戳在数据库中每隔一段时间就会更新一次。同时,我太天真了,认为它是实时的:D所以从一开始就没有问题。

156050645对应于2019年6月12日星期三14:44:05 UTC。与当前时间相差甚远。您的编程语言是什么?JavaScript?只是猜测。您是否期望1563050645中的58个?能否给出一个具体而精确的例子,说明JSON中的
dt
,完整的预期输出(日期和时间)和完整的实际输出?这应该会让你更容易得到帮助。在我的城市是17:54,所以我希望从
1619275921
得到54分钟,这是我从响应中得到的。但是,输出是52分钟。我没有更新从响应中存储的数据,所以这里是更新后的数据。1619275921,那是202年4月24日星期六1 14:52:01 UTC好的。因此,在您获取数据之前,似乎有几分钟的延迟。您可能需要在线(或离线)检查转换也是如此。我的获取数据肯定有问题,因为我试图在几分钟内访问同一个城市,但时间戳始终是相同的。它仅在一分钟前更新过。或者问题是数据库中的时间戳多久更新一次。