首页 > 解决方案 > 如何在js中编辑日期类型的日期?

问题描述

我想要做什么:显示一个图表,显示白天的太阳高度(它看起来有点像一条正弦曲线)你应该能够选择一个位置(纬度和经度)和一个日期,图表应该根据这个。

我已经导入了一个库,该库在给定位置吐出给定时间和日期的高度。

// 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)
}

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

但是,这似乎很棘手,因为我必须将日期转换为字符串然后对其进行操作。有没有更聪明的方法?

标签: javascriptreactjsdate

解决方案


i根据您的逻辑,该值似乎没有更新。

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

尝试使用 js 字符串插值

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

或字符串连接

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

不确定它会解决你的问题


推荐阅读