Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS或Jquery将XML中的日期/时间更正为本地日期/时间_Javascript_Jquery - Fatal编程技术网

Javascript 使用JS或Jquery将XML中的日期/时间更正为本地日期/时间

Javascript 使用JS或Jquery将XML中的日期/时间更正为本地日期/时间,javascript,jquery,Javascript,Jquery,我有一个XML标记,其中包含来自墨尔本日出日落开放天气API的以下数据: <sun rise="2020-11-13T19:00:49" set="2020-11-14T09:08:32"/> 这是错误的,因为太阳不能在19点升起。我认为这是因为它是在UTC时间,API只是在做一些奇怪的转换 我只想确定日出和日落的时间,以显示正确的时间。 这是我的代码: xml.find("sun").each( function(

我有一个XML标记,其中包含来自墨尔本日出日落开放天气API的以下数据:

<sun rise="2020-11-13T19:00:49" set="2020-11-14T09:08:32"/>

这是错误的,因为太阳不能在19点升起。我认为这是因为它是在UTC时间,API只是在做一些奇怪的转换

我只想确定日出和日落的时间,以显示正确的时间。

这是我的代码:

 xml.find("sun").each( function(){

                        var riseTime = new Date( $(this).attr("rise"));

                        var setTime = new Date( $(this).attr("set"));

                        strSunRise += riseTime.toLocaleTimeString('en-AU')+ "<br />";
                        strSunSet += setTime.toLocaleTimeString('en-AU')+ "<br />";

                        document.getElementById("sunRise").innerHTML = strSunRise;
                        document.getElementById("sunSet").innerHTML = strSunSet;
                    });

xml.find(“sun”).each(function(){
var riseTime=新日期($(this).attr(“上升”);
var setTime=新日期($(this).attr(“set”);
strSunRise+=上升时间。toLocaleTimeString('en-AU')+“
”; strunset+=setTime.toLocaleTimeString('en-AU')+“
”; document.getElementById(“sunRise”).innerHTML=strUnrise; document.getElementById(“日落”).innerHTML=strUnset; });
看起来openweathermap API还有一个时区标记-秒以及与UTC的偏移量。也许这样行得通

xml.find("city").each((i, city) => {
    let sun = city.find("sun");
    let timeZoneSeconds = +city.find("timezone").text();
    let riseTime = new Date(new Date(sun.attr("rise")) + timeZoneSeconds);
    let setTime = new Date(new Date(sun.attr("set")) + timeZoneSeconds);
    // riseTime and setTime are now in local time
});