LocalDateTimeFormatter

uk.gov.hmrc.apiplatform.modules.common.domain.services.LocalDateTimeFormatter
object LocalDateTimeFormatter extends EnvReads, EnvWrites

Attributes

Graph
Supertypes
trait EnvWrites
trait EnvReads
class Object
trait Matchable
class Any
Self type

Members list

Type members

Inherited classlikes

object ArrayNodeReads extends Reads[ArrayNode]

Deserializer for Jackson ArrayNode

Deserializer for Jackson ArrayNode

Attributes

Inherited from:
EnvReads
Supertypes
trait Reads[ArrayNode]
class Object
trait Matchable
class Any
object IsoDateReads extends Reads[Date]

ISO 8601 Reads

ISO 8601 Reads

Attributes

Inherited from:
EnvReads
Supertypes
trait Reads[Date]
class Object
trait Matchable
class Any
object JsonNodeReads extends Reads[JsonNode]

Deserializer for Jackson JsonNode

Deserializer for Jackson JsonNode

Attributes

Inherited from:
EnvReads
Supertypes
trait Reads[JsonNode]
class Object
trait Matchable
class Any
object ObjectNodeReads extends Reads[ObjectNode]

Deserializer for Jackson ObjectNode

Deserializer for Jackson ObjectNode

Attributes

Inherited from:
EnvReads
Supertypes
trait Reads[ObjectNode]
class Object
trait Matchable
class Any

Formatting companion

Formatting companion

Attributes

Inherited from:
EnvWrites
Supertypes
class Object
trait Matchable
class Any
trait TemporalFormatter[T <: Temporal]

Typeclass to implement way of formatting of Java8 temporal types.

Typeclass to implement way of formatting of Java8 temporal types.

Attributes

Inherited from:
EnvWrites
Supertypes
class Object
trait Matchable
class Any

Parsing companion

Parsing companion

Attributes

Inherited from:
EnvReads
Supertypes
class Object
trait Matchable
class Any
trait TemporalParser[T <: Temporal]

Typeclass to implement way of parsing string as Java8 temporal types.

Typeclass to implement way of parsing string as Java8 temporal types.

Attributes

Inherited from:
EnvReads
Supertypes
class Object
trait Matchable
class Any

Deprecated and Inherited classlikes

object JsonNodeWrites extends Writes[JsonNode]

Attributes

Deprecated
[Since version 2.8.0] Use `jsonNodeWrites`
Inherited from:
EnvWrites
Supertypes
trait Writes[JsonNode]
class Object
trait Matchable
class Any

Value members

Inherited methods

def dateReads(pattern: String, corrector: String => String = ...): Reads[Date]

Reads for the java.util.Date type.

Reads for the java.util.Date type.

Value parameters

corrector

a simple string transformation function that can be used to transform input String before parsing. Useful when standards are not exactly respected and require a few tweaks

pattern

a date pattern, as specified in java.text.SimpleDateFormat.

Attributes

Inherited from:
EnvReads
def instantReads[T](parsing: T, corrector: String => String = ...)(implicit p: T => TemporalParser[Instant]): Reads[Instant]

Reads for the java.time.Instant type.

Reads for the java.time.Instant type.

Type parameters

T

Type of argument to instantiate date parser

Value parameters

corrector

a simple string transformation function that can be used to transform input String before parsing. Useful when standards are not exactly respected and require a few tweaks. Function identity can be passed if no correction is needed.

p

Typeclass instance based on parsing

parsing

Argument to instantiate date parser. Actually either a pattern (string) or a formatter (java.time.format.DateTimeFormatter)

Attributes

See also

DefaultWrites.TemporalFormatter

import java.time.format.DateTimeFormatter
import play.api.libs.json.Reads.instantReads
val customReads1 = instantReads("dd/MM/yyyy, HH:mm:ss")
val customReads2 = instantReads(DateTimeFormatter.ISO_INSTANT)
val customReads3 = instantReads(DateTimeFormatter.ISO_INSTANT, _.drop(1))
Inherited from:
EnvReads
def javaDurationNumberReads(unit: TemporalUnit): Reads[Duration]

Deserializer of Java Duration from an integer (long) number, using the specified temporal unit.

Deserializer of Java Duration from an integer (long) number, using the specified temporal unit.

Attributes

Inherited from:
EnvReads
def localDateReads[T](parsing: T, corrector: String => String = ...)(implicit p: T => TemporalParser[LocalDate]): Reads[LocalDate]

Reads for the java.time.LocalDate type.

Reads for the java.time.LocalDate type.

Type parameters

T

Type of argument to instantiate date parser

Value parameters

corrector

a simple string transformation function that can be used to transform input String before parsing. Useful when standards are not exactly respected and require a few tweaks. Function identity can be passed if no correction is needed.

p

Typeclass instance based on parsing

parsing

Argument to instantiate date parser. Actually either a pattern (string) or a formatter (java.time.format.DateTimeFormatter)

Attributes

See also

DefaultWrites.TemporalFormatter

import java.time.format.DateTimeFormatter
import play.api.libs.json.Reads.localDateReads
val customReads1 = localDateReads("dd/MM/yyyy, HH:mm:ss")
val customReads2 = localDateReads(DateTimeFormatter.ISO_DATE)
val customReads3 = localDateReads(DateTimeFormatter.ISO_DATE, _.drop(1))
Inherited from:
EnvReads
def localDateTimeReads[T](parsing: T, corrector: String => String = ...)(implicit p: T => TemporalParser[LocalDateTime]): Reads[LocalDateTime]

Reads for the java.time.LocalDateTime type.

Reads for the java.time.LocalDateTime type.

Type parameters

T

Type of argument to instantiate date/time parser

Value parameters

corrector

a simple string transformation function that can be used to transform input String before parsing. Useful when standards are not exactly respected and require a few tweaks. Function identity can be passed if no correction is needed.

p

Typeclass instance based on parsing

parsing

Argument to instantiate date/time parser. Actually either a pattern (string) or a formatter (java.time.format.DateTimeFormatter)

Attributes

See also

DefaultWrites.TemporalFormatter

import java.time.format.DateTimeFormatter
import play.api.libs.json.Reads.localDateTimeReads
val customReads1 = localDateTimeReads("dd/MM/yyyy, HH:mm:ss")
val customReads2 = localDateTimeReads(DateTimeFormatter.ISO_DATE_TIME)
val customReads3 = localDateTimeReads(
 DateTimeFormatter.ISO_DATE_TIME, _.drop(1))
Inherited from:
EnvReads
def localTimeReads[T](parsing: T, corrector: String => String = ...)(implicit p: T => TemporalParser[LocalTime]): Reads[LocalTime]

Reads for the java.time.LocalTime type.

Reads for the java.time.LocalTime type.

Type parameters

T

Type of argument to instantiate time parser

Value parameters

corrector

a simple string transformation function that can be used to transform input String before parsing. Useful when standards are not exactly respected and require a few tweaks. Function identity can be passed if no correction is needed.

p

Typeclass instance based on parsing

parsing

Argument to instantiate time parser. Actually either a pattern (string) or a formatter (java.time.format.DateTimeFormatter)

Attributes

See also

DefaultWrites.TemporalFormatter

import java.time.format.DateTimeFormatter
import play.api.libs.json.Reads.localTimeReads
val customReads1 = localTimeReads("dd/MM/yyyy, HH:mm:ss")
val customReads2 = localTimeReads(DateTimeFormatter.ISO_TIME)
val customReads3 = localTimeReads(DateTimeFormatter.ISO_TIME, _.drop(1))
Inherited from:
EnvReads
def offsetDateTimeReads[T](parsing: T, corrector: String => String = ...)(implicit p: T => TemporalParser[OffsetDateTime]): Reads[OffsetDateTime]

Reads for the java.time.OffsetDateTime type.

Reads for the java.time.OffsetDateTime type.

Note: it is intentionally not supported to read an OffsetDateTime from a number.

Type parameters

T

the type of argument to instantiate date/time parser

Value parameters

corrector

a simple string transformation function that can be used to transform input String before parsing. Useful when standards are not exactly respected and require a few tweaks. Function identity can be passed if no correction is needed.

p

the implicit conversion based on parsing

parsing

The argument to instantiate date/time parser. Actually either a pattern (string) or a formatter (java.time.format.DateTimeFormatter)

Attributes

See also

DefaultWrites.TemporalFormatter

import java.time.format.DateTimeFormatter
import play.api.libs.json.Reads.offsetDateTimeReads
val customReads1 = offsetDateTimeReads("dd/MM/yyyy, HH:mm:ss (Z)")
val customReads2 = offsetDateTimeReads(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
val customReads3 = offsetDateTimeReads(
 DateTimeFormatter.ISO_OFFSET_DATE_TIME, _.drop(1))
Inherited from:
EnvReads
protected def parseBigDecimal(input: String): JsResult[BigDecimal]

Attributes

Inherited from:
EnvReads
protected def parseBigInteger(input: String): JsResult[BigInteger]

Attributes

Inherited from:
EnvReads
def sqlDateReads(pattern: String, corrector: String => String = ...): Reads[Date]

Reads for the java.sql.Date type.

Reads for the java.sql.Date type.

Value parameters

corrector

a simple string transformation function that can be used to transform input String before parsing. Useful when standards are not exactly respected and require a few tweaks

pattern

a date pattern, as specified in java.text.SimpleDateFormat.

Attributes

Inherited from:
EnvReads
def temporalWrites[A <: Temporal, B](formatting: B)(implicit f: B => TemporalFormatter[A]): Writes[A]

Serializer for Java8 temporal types (e.g. java.time.LocalDateTime) to be written as JSON string.

Serializer for Java8 temporal types (e.g. java.time.LocalDateTime) to be written as JSON string.

Type parameters

A

the Java8 temporal type to be considered: LocalDateTime, ZonedDateTime, Instant

B

Type of formatting argument

Value parameters

formatting

an argument to instantiate formatter

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import play.api.libs.json.Writes
implicit val w: Writes[LocalDateTime] =
 Writes.temporalWrites[LocalDateTime, DateTimeFormatter](
   DateTimeFormatter.ISO_LOCAL_DATE_TIME)

Attributes

Inherited from:
EnvWrites
def zonedDateTimeReads[T](parsing: T, corrector: String => String = ...)(implicit p: T => TemporalParser[ZonedDateTime]): Reads[ZonedDateTime]

Reads for the java.time.ZonedDateTime type.

Reads for the java.time.ZonedDateTime type.

Type parameters

T

Type of argument to instantiate date/time parser

Value parameters

corrector

a simple string transformation function that can be used to transform input String before parsing. Useful when standards are not exactly respected and require a few tweaks. Function identity can be passed if no correction is needed.

p

Typeclass instance based on parsing

parsing

Argument to instantiate date/time parser. Actually either a pattern (string) or a formatter (java.time.format.DateTimeFormatter)

Attributes

See also

DefaultWrites.TemporalFormatter

import java.time.format.DateTimeFormatter
import play.api.libs.json.Reads.zonedDateTimeReads
val customReads1 = zonedDateTimeReads("dd/MM/yyyy, HH:mm:ss")
val customReads2 = zonedDateTimeReads(DateTimeFormatter.ISO_DATE_TIME)
val customReads3 = zonedDateTimeReads(
 DateTimeFormatter.ISO_DATE_TIME, _.drop(1))
Inherited from:
EnvReads

Inherited fields

val InstantEpochMilliWrites: Writes[Instant]

Serializer for java.time.Instant as JSON number. The number of milliseconds since epoch is used.

Serializer for java.time.Instant as JSON number. The number of milliseconds since epoch is used.

import java.time.Instant
import play.api.libs.json.Writes

implicit val inWrites: Writes[Instant] = Writes.InstantEpochMilliWrites

Attributes

Inherited from:
EnvWrites
val LocalDateEpochMilliWrites: Writes[LocalDate]

Serializer for java.time.LocalDate as JSON number. The number of milliseconds since epoch is used.

Serializer for java.time.LocalDate as JSON number. The number of milliseconds since epoch is used.

import java.time.LocalDate
import play.api.libs.json.Writes

implicit val ldnWrites: Writes[LocalDate] =
 Writes.LocalDateEpochMilliWrites

Attributes

Inherited from:
EnvWrites
val LocalDateTimeEpochMilliWrites: Writes[LocalDateTime]

Serializer for java.time.LocalDateTime as JSON number. The number of milliseconds since epoch is used.

Serializer for java.time.LocalDateTime as JSON number. The number of milliseconds since epoch is used.

import java.time.LocalDateTime
import play.api.libs.json.Writes

implicit val ldtnWrites = Writes.LocalDateTimeEpochMilliWrites

Attributes

Inherited from:
EnvWrites
val LocalTimeNanoOfDayWrites: Writes[LocalTime]

Serializer for java.time.LocalTime as JSON number. The nano of day is written.

Serializer for java.time.LocalTime as JSON number. The nano of day is written.

import java.time.LocalTime
import play.api.libs.json.Writes

implicit val ltnWrites = Writes.LocalTimeNanoOfDayWrites

Attributes

Inherited from:
EnvWrites
val ZonedDateTimeEpochMilliWrites: Writes[ZonedDateTime]

Serializer for java.time.ZonedDateTime as JSON number. The number of milliseconds since epoch is used.

Serializer for java.time.ZonedDateTime as JSON number. The number of milliseconds since epoch is used.

import java.time.ZonedDateTime
import play.api.libs.json.Writes

implicit val zdtnWrites = Writes.ZonedDateTimeEpochMilliWrites

Attributes

Inherited from:
EnvWrites
val javaDurationMillisReads: Reads[Duration]

Deserializer of Java Duration from a number of milliseconds.

Deserializer of Java Duration from a number of milliseconds.

Attributes

Inherited from:
EnvReads
val javaDurationMillisWrites: Writes[Duration]

Serializer of Java Duration as a number of milliseconds.

Serializer of Java Duration as a number of milliseconds.

Attributes

Inherited from:
EnvWrites
val javaPeriodDaysReads: Reads[Period]

Deserializer of Java Period from a number (integer) of days.

Deserializer of Java Period from a number (integer) of days.

Attributes

Inherited from:
EnvReads
val javaPeriodMonthsReads: Reads[Period]

Deserializer of Java Period from a number (integer) of months.

Deserializer of Java Period from a number (integer) of months.

Attributes

Inherited from:
EnvReads
val javaPeriodWeeksReads: Reads[Period]

Deserializer of Java Period from a number (integer) of weeks.

Deserializer of Java Period from a number (integer) of weeks.

Attributes

Inherited from:
EnvReads
val javaPeriodYearsReads: Reads[Period]

Deserializer of Java Period from a number (integer) of years.

Deserializer of Java Period from a number (integer) of years.

Attributes

Inherited from:
EnvReads
val localeObjectReads: Reads[Locale]

Deserializer for a Locale from an object representation

Deserializer for a Locale from an object representation

Attributes

Inherited from:
EnvReads
val localeObjectWrites: OWrites[Locale]

Serializer for a Locale using a object representation

Serializer for a Locale using a object representation

Attributes

Inherited from:
EnvWrites

Givens

Givens

given localDateTimeFormat: Format[LocalDateTime]
given localDateTimeWrites: Writes[LocalDateTime]

Implicits

Inherited implicits

implicit val DefaultDateReads: Reads[Date]

the default implicit java.util.Date reads

the default implicit java.util.Date reads

Attributes

Inherited from:
EnvReads
implicit val DefaultInstantReads: Reads[Instant]

The default typeclass to reads java.time.Instant from JSON. Accepts instant formats as '2011-12-03T10:15:30Z', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.

The default typeclass to reads java.time.Instant from JSON. Accepts instant formats as '2011-12-03T10:15:30Z', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.

Attributes

Inherited from:
EnvReads
implicit val DefaultInstantWrites: Writes[Instant]

The default typeclass to write a java.time.Instant, using '2011-12-03T10:15:30Z' format.

The default typeclass to write a java.time.Instant, using '2011-12-03T10:15:30Z' format.

Attributes

Inherited from:
EnvWrites
implicit val DefaultJavaDurationReads: Reads[Duration]

Deserializer of Java Duration, from either a time-based amount of time (string representation such as '34.5 seconds'), or from a number of milliseconds (see javaDurationMillisReads).

Deserializer of Java Duration, from either a time-based amount of time (string representation such as '34.5 seconds'), or from a number of milliseconds (see javaDurationMillisReads).

Attributes

See also

java.time.Duration

DefaultJavaPeriodReads if you want to use java.time.Period instead.

Inherited from:
EnvReads
implicit val DefaultJavaPeriodReads: Reads[Period]

Deserializer of Java Period, from either a time-based amount of time in the ISO-8601 calendar system, such as '2 years, 3 months and 4 days' or from a number of days (see javaPeriodDaysReads).

Deserializer of Java Period, from either a time-based amount of time in the ISO-8601 calendar system, such as '2 years, 3 months and 4 days' or from a number of days (see javaPeriodDaysReads).

Attributes

See also

java.time.Period

DefaultJavaDurationReads if you want to use java.time.Duration instead.

Inherited from:
EnvReads
implicit val DefaultLocalDateReads: Reads[LocalDate]

The default typeclass to reads java.time.LocalDate from JSON. Accepts date formats as '2011-12-03'.

The default typeclass to reads java.time.LocalDate from JSON. Accepts date formats as '2011-12-03'.

Attributes

Inherited from:
EnvReads
implicit val DefaultLocalDateTimeReads: Reads[LocalDateTime]

The default typeclass to reads java.time.LocalDateTime from JSON. Accepts date/time formats as '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.

The default typeclass to reads java.time.LocalDateTime from JSON. Accepts date/time formats as '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.

Attributes

Inherited from:
EnvReads
implicit val DefaultLocalDateTimeWrites: Writes[LocalDateTime]

The default typeclass to write a java.time.LocalDateTime, using '2011-12-03T10:15:30' format.

The default typeclass to write a java.time.LocalDateTime, using '2011-12-03T10:15:30' format.

Attributes

Inherited from:
EnvWrites
implicit val DefaultLocalDateWrites: Writes[LocalDate]

The default typeclass to write a java.time.LocalDate, using '2011-12-03' format.

The default typeclass to write a java.time.LocalDate, using '2011-12-03' format.

Attributes

Inherited from:
EnvWrites
implicit val DefaultLocalTimeReads: Reads[LocalTime]

The default typeclass to reads java.time.LocalTime from JSON. Accepts date formats as '10:15:30' (or '10:15').

The default typeclass to reads java.time.LocalTime from JSON. Accepts date formats as '10:15:30' (or '10:15').

Attributes

Inherited from:
EnvReads
implicit val DefaultLocalTimeWrites: Writes[LocalTime]

The default typeclass to write a java.time.LocalTime, using '10:15:30' format.

The default typeclass to write a java.time.LocalTime, using '10:15:30' format.

Attributes

Inherited from:
EnvWrites
implicit val DefaultOffsetDateTimeReads: Reads[OffsetDateTime]

The default typeclass to reads java.time.OffsetDateTime from JSON. Accepts date/time formats as '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.

The default typeclass to reads java.time.OffsetDateTime from JSON. Accepts date/time formats as '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.

Attributes

Inherited from:
EnvReads
implicit val DefaultOffsetDateTimeWrites: Writes[OffsetDateTime]

The default typeclass to write a java.time.OffsetDateTime, using '2011-12-03T10:15:30+02:00' format.

The default typeclass to write a java.time.OffsetDateTime, using '2011-12-03T10:15:30+02:00' format.

Attributes

Inherited from:
EnvWrites
implicit val DefaultSqlDateReads: Reads[Date]

the default implicit SqlDate reads

the default implicit SqlDate reads

Attributes

Inherited from:
EnvReads
implicit val DefaultZonedDateTimeReads: Reads[ZonedDateTime]

The default typeclass to reads java.time.ZonedDateTime from JSON. Accepts date/time formats as '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.

The default typeclass to reads java.time.ZonedDateTime from JSON. Accepts date/time formats as '2011-12-03T10:15:30', '2011-12-03T10:15:30+01:00' or '2011-12-03T10:15:30+01:00[Europe/Paris]'.

Attributes

Inherited from:
EnvReads
implicit val DefaultZonedDateTimeWrites: Writes[ZonedDateTime]

The default typeclass to write a java.time.ZonedDateTime, using '2011-12-03T10:15:30+01:00[Europe/Paris]' format.

The default typeclass to write a java.time.ZonedDateTime, using '2011-12-03T10:15:30+01:00[Europe/Paris]' format.

Attributes

Inherited from:
EnvWrites
implicit val ZoneIdReads: Reads[ZoneId]

Reads for the java.time.ZoneId type.

Reads for the java.time.ZoneId type.

Attributes

Inherited from:
EnvReads
implicit val ZoneIdWrites: Writes[ZoneId]

Serializer for java.time.ZoneId as JSON string.

Serializer for java.time.ZoneId as JSON string.

Attributes

Inherited from:
EnvWrites
implicit val javaDurationWrites: Writes[Duration]

Serializer of Java Duration using ISO representation (e.g. PT1S for 1 second).

Serializer of Java Duration using ISO representation (e.g. PT1S for 1 second).

Attributes

Inherited from:
EnvWrites
implicit val javaPeriodWrites: Writes[Period]

Serializer of Java Period using ISO representation (e.g. P2D for 2 days).

Serializer of Java Period using ISO representation (e.g. P2D for 2 days).

Attributes

Inherited from:
EnvWrites
implicit def jsonNodeWrites[T <: JsonNode]: Writes[T]

Serializer for Jackson JsonNode

Serializer for Jackson JsonNode

Attributes

Inherited from:
EnvWrites
implicit val localeReads: Reads[Locale]

Deserializer for a Locale from a IETF BCP 47 string representation

Deserializer for a Locale from a IETF BCP 47 string representation

Attributes

Inherited from:
EnvReads
implicit val localeWrites: Writes[Locale]

Serializer for a Locale using the IETF BCP 47 string representation

Serializer for a Locale using the IETF BCP 47 string representation

Attributes

Inherited from:
EnvWrites