Class InstantAsStringAttributeConverter

java.lang.Object
software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.InstantAsStringAttributeConverter
All Implemented Interfaces:
AttributeConverter<Instant>

@ThreadSafe @Immutable public final class InstantAsStringAttributeConverter extends Object implements AttributeConverter<Instant>
A converter between Instant and AttributeValue.

This stores values in DynamoDB as a string.

Values are stored in ISO-8601 format, with nanosecond precision and a time zone of UTC.

Examples:

  • Instant.EPOCH.plusSeconds(1) is stored as an AttributeValue with the String "1970-01-01T00:00:01Z"
  • Instant.EPOCH.minusSeconds(1) is stored as an AttributeValue with the String "1969-12-31T23:59:59Z"
  • Instant.EPOCH.plusMillis(1) is stored as an AttributeValue with the String "1970-01-01T00:00:00.001Z"
  • Instant.EPOCH.minusMillis(1) is stored as an AttributeValue with the String "1969-12-31T23:59:59.999Z"
  • Instant.EPOCH.plusNanos(1) is stored as an AttributeValue with the String "1970-01-01T00:00:00.000000001Z"
  • Instant.EPOCH.minusNanos(1) is stored as an AttributeValue with the String "1969-12-31T23:59:59.999999999Z"
See Instant for more details on the serialization format.

This converter can read any values written by itself, or values with zero offset written by OffsetDateTimeAsStringAttributeConverter, and values with zero offset and without time zone named written by ZoneOffsetAttributeConverter. Offset and zoned times will be automatically converted to the equivalent Instant.

This serialization is lexicographically orderable when the year is not negative.

This can be created via create().