Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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 日出/日落计算返回稍后的值_Javascript_Datetime_Time - Fatal编程技术网

Javascript 日出/日落计算返回稍后的值

Javascript 日出/日落计算返回稍后的值,javascript,datetime,time,Javascript,Datetime,Time,我正在根据用户的地理位置计算日出和日落。我正在使用Islamic praytime.js进行这些计算。然而,我得到日出和日落的值要比我测试的设备的实际位置晚得多 我怎样才能得到正确或更准确的日出和日落 praytimes代码: 我的实施: navigator.geolocation.getCurrentPosition(function(pos){ lat = pos.coords.latitude; lon = pos.coords.longitude;

我正在根据用户的地理位置计算日出和日落。我正在使用Islamic praytime.js进行这些计算。然而,我得到日出和日落的值要比我测试的设备的实际位置晚得多

我怎样才能得到正确或更准确的日出和日落

praytimes代码:

我的实施:

navigator.geolocation.getCurrentPosition(function(pos){
        lat = pos.coords.latitude;
        lon = pos.coords.longitude;
        alert(lat+" long: "+lon);
        var prayTimes = new PrayTimes();
        var times = prayTimes.getTimes(new Date(), [lat, lon], getTimezoneOffset()/100);
        sunrise = times.sunrise.split(':');
        sunset = times.sunset.split(':');
        alert("sunrise: "+sunrise[0]+" hours, "+sunrise[1]+" minutes");
        alert("sunset: "+sunset[0]+" hours, "+sunset[1]+" minutes");
}

我发誓当我不使用lat和long时,我得到的是准确的值,只是时区,但现在它要求我在下载后给出lat/long参数。

让PrayTimes.js计算时区。你把时区除以100,为什么

只需让脚本根据地理位置检测时区:

navigator.geolocation.getCurrentPosition(function(pos){
    $('#input').removeClass('night');
    lat = pos.coords.latitude;
    lon = pos.coords.longitude;
    var prayTimes = new PrayTimes();
    var times = prayTimes.getTimes(new Date(), [lat, lon]);
}

我不知道这是否与你的问题有关,因为你只提到日出和日落,但在某些情况下,你在这里发布的代码不会显示正确的结果,因为纬度较高。看这个。要解决这个问题,您需要添加如下内容:
prayTimes.adjust({highLats:'anglebase'})
。这还提到了您可以使用的其他值。谢谢-我会记下来的