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

jp.ne.opt.chronoscala.OffsetDateTimeForwarder.scala Maven / Gradle / Ivy

The newest version!
package jp.ne.opt.chronoscala

import java.time.format.{DateTimeFormatter, DateTimeParseException}
import java.time._
import scala.util.Try

trait OffsetDateTimeForwarder {

  def now(): OffsetDateTime = OffsetDateTime.now(ClockProvider.clock)

  def now(clock: Clock): OffsetDateTime = OffsetDateTime.now(clock)

  def now(zoneId: ZoneId): OffsetDateTime = OffsetDateTime.now(ClockProvider.clock.withZone(zoneId))

  def parse(str: String): OffsetDateTime = Try {
    OffsetDateTime.parse(str)
  }.recover {
    case e: DateTimeParseException => LocalDateTime.parse(str).atZone(ZoneId.systemDefault).toOffsetDateTime
  }.recover {
    case e: DateTimeParseException => LocalDate.parse(str).atStartOfDay(ZoneId.systemDefault).toOffsetDateTime
  }.get

  def parse(str: String, formatter: DateTimeFormatter): OffsetDateTime = OffsetDateTime.parse(str, formatter)

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy