如何在js中编辑date类型的日期?



我想做的是:显示白天太阳高度的图形(看起来有点像正弦曲线)您应该能够选择一个位置(纬度&经度)和日期,图形应按此显示

我导入了一个库,它输出给定时间和日期在给定位置的高度。

// The date is passed from another component using react-date-picker. The date looks like this: 
Sat Mar 13 2021 13:54:56 GMT+0100
var altitude = SunCalc.getPosition(date, 10.757, 59.91).altitude * 180 / Math.PI

问题:这只显示了13(下午1点)的高度,但是我想获得一天中每一个小时的值。

所以我想我可以用for循环。比如:

let altitudes = []    
for(let i; i<24; i++){
let date = 'Sat Mar 13 2021 {i}:00:00 GMT+0100'
var altitude = SunCalc.getPosition(date, 10.757, 59.91).altitude * 180 / Math.PI
altitudes.push(altitude)
}

(这不是所有的代码,只是让你有一个想法)

然而,这看起来真的很糟糕,因为我必须将日期转换为字符串,然后对其进行操作。有没有更聪明的办法?

似乎i值没有按照您的逻辑更新。

'Sat Mar 13 2021 {i}:00:00 GMT+0100'

尝试使用js字符串插值

`Sat Mar 13 2021 ${i}:00:00 GMT+0100`

或字符串concat

'Sat Mar 13 2021 '+ i + ':00:00 GMT+0100'

不确定它能解决你的问题

您不需要将其转换为字符串,尽管它可以工作。

直接使用Date内置方法,如setHours

let altitudes = []    
for(let i; i < 24; i++){
date.setHours(i)
var altitude = SunCalc.getPosition(date, 10.757, 59.91).altitude * 180 / Math.PI
altitudes.push(altitude)
}

相关内容

  • 没有找到相关文章

最新更新