By using AWS re:Post, you agree to the Terms of Use
/AWSDateTime doesn't parse ISO 8601 format, is it bug ?/

AWSDateTime doesn't parse ISO 8601 format, is it bug ?

0

Summary

"2019-04-09T23:25:27+09:00" is valid ISO 8601 datetime notation certainly.
"2019-04-09T23:25:27+0900" (colon-less timezone) is also valid I think (https://en.wikipedia.org/wiki/ISO_8601 says so, but it is just my conjecture because I don't have ISO 8601 cannonical specification pdf https://www.iso.org/iso-8601-date-and-time-format.html.)

AWSDateTime accepts former, but denied latter.
I think this is bug because https://docs.aws.amazon.com/appsync/latest/devguide/scalars.html#awsdatetime says:

The AWSDateTime scalar type represents a valid extended ISO 8601 DateTime string.

How to reproduce

  1. Setup AppSync with Dynamodb backend
  2. Use AWSDateTime as part of GraphQL type
  3. Insert a row with value "2019-04-09T23:25:27+0900" for AWSDateTime in dynamodb console
  4. Query in AppSync console to get the row
  5. Error happens like invalid row value

P.S.

I haven't checked AWSTime but It may have same problem.

1 Answers
0
Accepted Answer

Hi,

Thanks for the feedback. At this time, AWS AppSync requires the colon in the timezone. Per our documentation, "...the time zone offset must either be Z (representing the UTC time zone) or be in the format ±hh:mm:ss" (https://docs.aws.amazon.com/appsync/latest/devguide/scalars.html#awsdatetime).

I'll add a task to our backlog to see if we can relax this requirement to support timezones without colons. Unfortunately, I cannot provide an ETA on if/when this can be implemented.

Regards,
Rohan

answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions