fixes for Tz

This commit is contained in:
2021-04-10 15:29:55 +06:00
parent 5c81eede9c
commit 3408d58cb7
4 changed files with 10 additions and 8 deletions

View File

@@ -1,7 +1,6 @@
package dev.inmo.krontab
import com.soywiz.klock.DateTime
import com.soywiz.klock.DateTimeTz
import dev.inmo.krontab.internal.toNearDateTime
/**
@@ -13,6 +12,7 @@ import dev.inmo.krontab.internal.toNearDateTime
* @see dev.inmo.krontab.internal.CronDateTimeScheduler
*/
interface KronScheduler {
/**
* @return Next [DateTime] when some action must be triggered according to settings of this instance
*

View File

@@ -1,7 +1,6 @@
package dev.inmo.krontab
import com.soywiz.klock.DateTime
import com.soywiz.klock.DateTimeTz
import dev.inmo.krontab.builder.buildSchedule
import dev.inmo.krontab.internal.*
import dev.inmo.krontab.internal.CronDateTime

View File

@@ -14,10 +14,10 @@ internal data class CronDateTimeSchedulerTz internal constructor(
internal val offset: TimezoneOffset
) : KronSchedulerTz {
override suspend fun next(relatively: DateTimeTz): DateTimeTz? {
val dateTimeWithActualOffset = relatively.utc.toOffset(offset).local
val dateTimeWithActualOffset = relatively.toOffset(offset).local
return cronDateTimes.mapNotNull {
it.toNearDateTime(dateTimeWithActualOffset)
}.minOrNull() ?.toOffset(relatively.offset)
}.minOrNull() ?.toOffsetUnadjusted(offset) ?.toOffset(relatively.offset)
}
}