Class 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().