Javascript 使用JS或Jquery将XML中的日期/时间更正为本地日期/时间
我有一个XML标记,其中包含来自墨尔本日出日落开放天气API的以下数据: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(
<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
});