我有时间,以度数给定纬度。有没有用这个信息计算Javascript中日出和日落时间的方法?
答案 0 :(得分:17)
SunCalc似乎做你想做的事
SunCalc是一个小型BSD许可的JavaScript库,用于计算给定位置和时间的太阳位置,日照阶段(日出,日落,黄昏等的时间),月亮位置和月相
答案 1 :(得分:4)
相关代码可在http://www.esrl.noaa.gov/gmd/grad/solcalc/
找到您需要经度,纬度和日期。在当地时间或世界时间表明您是否想要答案将会很有帮助。获得真实准确性所需的更正(以及用于“日出”和“日落”的定义)都对计算的有效性起着重要作用。
如果你只是想知道“近似”,当太阳与地平线“在假设球形地球,围绕太阳的圆形轨道,没有大气失真”的情况下 - 那么整个射击比赛减少到某种程度非常易于管理。但是,如果你想要真正的答案,你必须通过上述网站的大约600行脚本。
对于近似值,您可以看到this earlier answer
答案 2 :(得分:1)
Sun-time 就足够了。
npm install sun-time ;
然后:
var sun=require('sun-time');
sun('Tunis') // -> i.e : return {rise:"05:00",set:"18:36"}
答案 3 :(得分:1)
这个javascript程序
https://github.com/Triggertrap/sun-js
仅根据您所在位置的纬度和经度计算日出和日落时间,可以通过GPS自动获取,如下所示:
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
它包含一个自述文件,用于解释如何使用它。它计算天顶,非常准确。