All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.harmonysoft.oss.common.time.schedule.impl.LocalDateTimeProcessingStrategy.kt Maven / Gradle / Ivy

package tech.harmonysoft.oss.common.time.schedule.impl

import java.time.DayOfWeek
import java.time.Duration
import java.time.LocalDateTime
import java.time.LocalTime

object LocalDateTimeProcessingStrategy : TimeProcessingStrategy {

    override fun toDayOfWeek(time: LocalDateTime): DayOfWeek {
        return time.dayOfWeek
    }

    override fun timeMsFromStartOfTheDay(time: LocalDateTime): Long {
        return timeMsFromStartOfTheDay(time.toLocalTime())
    }

    fun timeMsFromStartOfTheDay(time: LocalTime): Long {
        return Duration.between(LocalTime.MIN, time).toMillis()
    }

    override fun timeMsBeforeEndOfTheDay(time: LocalDateTime): Long {
        // '+1' because LocalTime.MAX is 23:59:59.(9)
        return Duration.between(time.toLocalTime(), LocalTime.MAX).toMillis() + 1L
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy