Browse Source

Fix dates that go beyond month/year end

master
Nathan Bergey 5 years ago
parent
commit
6b0c752a94
  1. 13
      src/render.js

13
src/render.js

@ -101,6 +101,7 @@ class Chart {
* Draw days to show time
*/
export function render_calendar(canvas, width, height, offset, data) {
const margin = {
top: 0,
left: leftMargin,
@ -120,7 +121,9 @@ export function render_calendar(canvas, width, height, offset, data) {
let days = []
const year = data.beginTime.getFullYear()
const month = data.beginTime.getMonth()
for (var day = data.beginTime.getDate(); day <= data.endTime.getDate(); day++) {
const n_days = Math.ceil((data.endTime- data.beginTime) / (1000 * 60 * 60 * 24))
for (var day = data.beginTime.getDate(); day <= (data.beginTime.getDate() + n_days); day++) {
const dayBegin = new Date(year, month, day, 0, 1, 0)
const noon = new Date(year, month, day, 12, 0, 0)
noons.push(noon)
@ -183,7 +186,9 @@ export function render_nights(canvas, width, height, offset, data) {
const year = data.beginTime.getFullYear()
const month = data.beginTime.getMonth()
for (var day = data.beginTime.getDate(); day <= data.endTime.getDate(); day++) {
const n_days = Math.ceil((data.endTime- data.beginTime) / (1000 * 60 * 60 * 24))
for (var day = data.beginTime.getDate(); day <= (data.beginTime.getDate() + n_days); day++) {
const midnight = new Date(year, month, day, 0, 0, 0)
const sunEphem = SunCalc.getTimes(new Date(year, month, day, 12, 0, 0), lat, lon)
draw_box(midnight, sunEphem.nauticalDawn, 'night')
@ -223,7 +228,9 @@ export function render_astronomy(canvas, width, height, offset, data) {
let sunData = []
const year = data.beginTime.getFullYear()
const month = data.beginTime.getMonth()
for (var day = data.beginTime.getDate(); day <= data.endTime.getDate(); day++) {
const n_days = Math.ceil((data.endTime- data.beginTime) / (1000 * 60 * 60 * 24))
for (var day = data.beginTime.getDate(); day <= (data.beginTime.getDate() + n_days); day++) {
const midnight = new Date(year, month, day, 0, 0, 0)
// Solar Ephemeris

Loading…
Cancel
Save