Migrate getStartOfToday

pull/1120/head
sgallese 4 years ago
parent 7630b90e4f
commit 2301158925

@ -203,6 +203,8 @@ data class LocalDate(val daysSince2000: Int) {
} }
fun getStartOfDay(timestamp: Long): Long = (timestamp / DAY_LENGTH) * DAY_LENGTH fun getStartOfDay(timestamp: Long): Long = (timestamp / DAY_LENGTH) * DAY_LENGTH
fun getStartOfToday(): Long = getStartOfDay(getLocalTime())
} }
} }

@ -23,6 +23,7 @@ import kotlinx.datetime.LocalDateTime
import kotlinx.datetime.TimeZone import kotlinx.datetime.TimeZone
import kotlinx.datetime.toInstant import kotlinx.datetime.toInstant
import org.isoron.platform.time.LocalDate.Companion.getStartOfDay import org.isoron.platform.time.LocalDate.Companion.getStartOfDay
import org.isoron.platform.time.LocalDate.Companion.getStartOfToday
import org.isoron.platform.time.LocalDate.Companion.getWeekdaySequence import org.isoron.platform.time.LocalDate.Companion.getWeekdaySequence
import kotlin.test.Test import kotlin.test.Test
import kotlin.test.assertContentEquals import kotlin.test.assertContentEquals
@ -67,4 +68,16 @@ class DatesTest {
val startOfDay = getStartOfDay(laterInTheDayUtc) val startOfDay = getStartOfDay(laterInTheDayUtc)
assertEquals(expectedStartOfDayUtc, startOfDay) assertEquals(expectedStartOfDayUtc, startOfDay)
} }
@Test
fun testGetStartOfToday() {
val expectedStartOfDayUtc = LocalDateTime(
2017, 1, 1, 0, 0, 0, 0
).toInstant(TimeZone.UTC).toEpochMilliseconds()
val laterInTheDayUtc = LocalDateTime(
2017, 1, 1, 20, 0, 0, 0
).toInstant(TimeZone.UTC).toEpochMilliseconds()
LocalDate.fixedLocalTime = laterInTheDayUtc
val startOfToday = getStartOfToday()
assertEquals(expectedStartOfDayUtc, startOfToday)
}
} }

@ -18,6 +18,7 @@
*/ */
package org.isoron.uhabits.core.io package org.isoron.uhabits.core.io
import org.isoron.platform.time.LocalDate.Companion.getStartOfToday
import org.isoron.uhabits.core.models.Entry import org.isoron.uhabits.core.models.Entry
import org.isoron.uhabits.core.models.EntryList import org.isoron.uhabits.core.models.EntryList
import org.isoron.uhabits.core.models.Habit import org.isoron.uhabits.core.models.Habit
@ -221,7 +222,7 @@ class HabitsCSVExporter(
private fun writeZipFile(): String { private fun writeZipFile(): String {
val dateFormat = DateFormats.getCSVDateFormat() val dateFormat = DateFormats.getCSVDateFormat()
val date = dateFormat.format(DateUtils.getStartOfToday()) val date = dateFormat.format(getStartOfToday())
val zipFilename = String.format("%s/Loop Habits CSV %s.zip", exportDirName, date) val zipFilename = String.format("%s/Loop Habits CSV %s.zip", exportDirName, date)
val fos = FileOutputStream(zipFilename) val fos = FileOutputStream(zipFilename)
val zos = ZipOutputStream(fos) val zos = ZipOutputStream(fos)

@ -26,6 +26,7 @@ import org.isoron.platform.time.LocalDate.Companion.HOUR_LENGTH
import org.isoron.platform.time.LocalDate.Companion.MINUTE_LENGTH import org.isoron.platform.time.LocalDate.Companion.MINUTE_LENGTH
import org.isoron.platform.time.LocalDate.Companion.getLocalTime import org.isoron.platform.time.LocalDate.Companion.getLocalTime
import org.isoron.platform.time.LocalDate.Companion.getStartOfDay import org.isoron.platform.time.LocalDate.Companion.getStartOfDay
import org.isoron.platform.time.LocalDate.Companion.getStartOfToday
import org.isoron.platform.time.LocalDate.Companion.getTimeZone import org.isoron.platform.time.LocalDate.Companion.getTimeZone
import org.isoron.uhabits.core.models.Timestamp import org.isoron.uhabits.core.models.Timestamp
import java.util.Calendar import java.util.Calendar
@ -152,9 +153,6 @@ abstract class DateUtils {
return getStartOfDay(timestamp - offset) return getStartOfDay(timestamp - offset)
} }
@JvmStatic
fun getStartOfToday(): Long = getStartOfDay(getLocalTime())
@JvmStatic @JvmStatic
fun getStartOfTomorrowWithOffset(): Long = getUpcomingTimeInMillis( fun getStartOfTomorrowWithOffset(): Long = getUpcomingTimeInMillis(
startDayHourOffset, startDayHourOffset,

@ -120,15 +120,6 @@ class DateUtilsTest : BaseUnitTest() {
assertThat(Timestamp(FIXED_LOCAL_TIME), equalTo(today)) assertThat(Timestamp(FIXED_LOCAL_TIME), equalTo(today))
} }
@Test
fun testGetStartOfToday() {
val expectedStartOfDayUtc = unixTime(2017, Calendar.JANUARY, 1, 0, 0)
val laterInTheDayUtc = unixTime(2017, Calendar.JANUARY, 1, 20, 0)
LocalDate.fixedLocalTime = laterInTheDayUtc
val startOfToday = DateUtils.getStartOfToday()
assertThat(expectedStartOfDayUtc, equalTo(startOfToday))
}
@Test @Test
fun testGetStartOfTomorrowWithOffset_priorToOffset() { fun testGetStartOfTomorrowWithOffset_priorToOffset() {
val hourOffset = 3 val hourOffset = 3

Loading…
Cancel
Save