Files
WeatherTool/src/main/scala/fetchDMI/FileName.scala
T

37 lines
998 B
Scala
Raw Normal View History

2025-02-01 20:19:58 +02:00
package fetchDMI
import java.time.{ZoneOffset, ZonedDateTime}
object FileName {
def main(args: Array[String]): Unit = {
println("-------- FileName")
val nowUTC = ZonedDateTime.now(ZoneOffset.UTC)
val referenceTime = getClosestReferenceTime(nowUTC)
val timeList = generateTimeList(referenceTime)
timeList.foreach(println)
}
def getClosestReferenceTime(time: ZonedDateTime): ZonedDateTime = {
val referenceHours = Vector(0, 3, 6, 9, 12, 15, 18, 21)
val currentHour = time.getHour
val closestHour = referenceHours
.filter(h => h <= currentHour)
.maxOption
.getOrElse(21) // actually should not be such case
time
.withHour(closestHour)
.withMinute(0)
.withSecond(0)
.withNano(0)
}
2025-02-05 23:35:40 +02:00
// TODO make default count to 61
2025-02-01 20:19:58 +02:00
def generateTimeList(initialTime: ZonedDateTime, interval: Int = 1, count: Int = 5): List[ZonedDateTime] = {
(0 until count).map(id => initialTime.plusHours(id * interval)).toList
}
}