
dtc.instances.jsDate.scala Maven / Gradle / Ivy
The newest version!
package dtc.instances
import java.time._
import java.time.temporal.ChronoField
import dtc.Local
import dtc.js.JSDate
object jsDate {
implicit val jsDateLocalDTC: Local[JSDate] =
new Local[JSDate] {
def compare(x: JSDate, y: JSDate): Int = JSDate.compare(x, y)
def of(date: LocalDate, time: LocalTime): JSDate = JSDate.of(date, time)
def of(year: Int, month: Int, day: Int, hour: Int, minute: Int, second: Int, millisecond: Int): JSDate =
JSDate.of(year, month, day, hour, minute, second, millisecond)
def date(x: JSDate): LocalDate = x.toLocalDate
def time(x: JSDate): LocalTime = x.toLocalTime
def plus(x: JSDate, d: Duration): JSDate = x.plus(d)
def minus(x: JSDate, d: Duration): JSDate = x.minus(d)
def plusDays(x: JSDate, days: Int): JSDate = x.plusDays(days)
def plusMonths(x: JSDate, months: Int): JSDate = x.plusMonths(months)
def plusYears(x: JSDate, years: Int): JSDate = x.plusYears(years)
def withYear(x: JSDate, year: Int): JSDate = x.withYear(year)
def withMonth(x: JSDate, month: Int): JSDate = x.withMonth(month)
def withDayOfMonth(x: JSDate, dayOfMonth: Int): JSDate = x.withDayOfMonth(dayOfMonth)
def withHour(x: JSDate, hour: Int): JSDate = x.withHour(hour)
def withMinute(x: JSDate, minute: Int): JSDate = x.withMinute(minute)
def withSecond(x: JSDate, second: Int): JSDate = x.withSecond(second)
def withMillisecond(x: JSDate, millisecond: Int): JSDate = x.withMillisecond(millisecond)
def withTime(x: JSDate, time: LocalTime): JSDate =
withMillisecond(
withSecond(
withMinute(
withHour(x, time.getHour), time.getMinute), time.getSecond), time.get(ChronoField.MILLI_OF_SECOND))
def withDate(x: JSDate, date: LocalDate): JSDate =
withDayOfMonth(withMonth(withYear(x, date.getYear), date.getMonthValue), date.getDayOfMonth)
def dayOfWeek(x: JSDate): DayOfWeek = x.dayOfWeek
def dayOfMonth(x: JSDate): Int = x.dayOfMonth
def month(x: JSDate): Int = x.month
def year(x: JSDate): Int = x.year
def millisecond(x: JSDate): Int = x.millisecond
def second(x: JSDate): Int = x.second
def minute(x: JSDate): Int = x.minute
def hour(x: JSDate): Int = x.hour
def yearsUntil(x: JSDate, until: JSDate): Long = x.yearsUntil(until)
def monthsUntil(x: JSDate, until: JSDate): Long = x.monthsUntil(until)
def daysUntil(x: JSDate, until: JSDate): Long = x.daysUntil(until)
def hoursUntil(x: JSDate, until: JSDate): Long = x.hoursUntil(until)
def minutesUntil(x: JSDate, until: JSDate): Long = x.minutesUntil(until)
def secondsUntil(x: JSDate, until: JSDate): Long = x.secondsUntil(until)
def millisecondsUntil(x: JSDate, until: JSDate): Long = x.millisecondsUntil(until)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy