【问题标题】:openweather unix datetimestamp to local datetime in phpopenweather unix日期时间戳到php中的本地日期时间
【发布时间】:2020-07-14 09:39:13
【问题描述】:

我正在尝试将 Openweather API 调用提供的日出和日落 unix 纪元日期时间戳转换为我的本地日期时间。我得到了真正的差异结果。 日出值为 1594726338,日落值为 1594775338。但是,当我将其转换为本地日期时间时,日出值为 2020-07-14 17:02:18,日落值为 2020-07-15 06:38 :58,完全偏离目标。我尝试在在线日期/时间转换器网站上查找它,它们返回相同的结果。 首先我尝试了这个:

*

<?php
    $uep=1594726338;
    $t = date('r',$uep);
?>

然后我尝试了这个:

<?php

    $uep=1594726338;
    $t = date('r',$uep);
    $savedtime = $t;
    $servertime = ini_get('date.timezone');
    $time = strtotime($savedtime . $servertime);
    $dateInLocal = date("Y-m-d H:i:s", $time);
    echo $dateInLocal;
?>

我在 php.ini 文件中设置了正确的日期时间。我还阅读了一些关于将 unix 纪元除以 1000 的内容。或者我没有正确转换它或误读结果?

问候,

欧辰

【问题讨论】:

  • 您的第一次尝试使用我的天气数据正常工作('sunrise' => 1594695557, "2020-07-14 04:59", TimeZone:Europe/Berlin)。我认为您的问题在于调用天气 API。必须在此处指定正确的位置。
  • 我使用的是坐标而不是位置。这是一个潜在的问题吗? OpenWeather API 文档说它也可以与 co-ords 一起使用......
  • 不,我也用那个。您还可以在响应中检查坐标 coord->lat 和 coord->lon。
  • yuup,我得到了正确的纬度和经度。查看返回的 JSON: {"lat":25.91,"lon":-93.73,"timezone":"Etc/GMT+6","timezone_offset":-21600,"current":{"dt":1594737745,"日出":1594726338,"日落":1594775338,"温度":28.47,"feels_like":31.43,"压力":1015,"湿度":77,"露点":24.04,"uvi":11.9,"云" :28,"wind_speed":4.11,"wind_deg":196,"weather":[{"id":802,"main":"Clouds","description":"散落的云朵","icon":"03d "}]},"daily":[{"dt":1594749600,"sunrise":1594726338,"sunset":1594775338,"temp":{"day":28.96,"min":28.47,"max": 29.2,"夜晚":28.68,"eve":29.16,"morn":28.47},"feels_like":.....
  • 不正确! “lon”: - 93.73 在墨西哥湾的某个地方。注意减号。

标签: php api datetime-format openweathermap


【解决方案1】:

时间戳始终为 UTC,因此您需要将其转换为本地时区,例如:

$ts = 1560281377;
$dt = new DateTime('@' . $ts);
$dt->setTimezone(new DateTimeZone('Asia/Tokyo'));
echo $dt->format('Y-m-d H:i:s');

【讨论】:

  • 我已经将它转换为我的时区。无论如何,我尝试了您提供的上述代码,但它仍然输出日出为 2020-07-14 17:02:18。
  • @OchenAo 你的时区是什么?
  • 亚洲/加尔各答。这也是在我的 php.ini 上配置的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 2021-07-18
  • 2011-10-01
  • 2013-06-16
相关资源
最近更新 更多