Search code examples
scaladatesimpledateformat

How to set yesterday's date using Scala?


I am creating a date in Scala.

  val dafo = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'")
  val tz = TimeZone.getTimeZone("UTC")
  dafo.setTimeZone(tz)
  val endTime = dafo.format(new Date())

How can I set the yesterday's date instead of today's date?


Solution

  • Here is how you get yesterday's date/time and format it using java.time:

    import java.time.{ZonedDateTime, ZoneId}
    import java.time.format.DateTimeFormatter
    
    
    val yesterday = ZonedDateTime.now(ZoneId.of("UTC")).minusDays(1)
    val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm'Z'")
    val result = formatter format yesterday
    
    println(result)