Trying to figure out how to input a AWSDateTime. I don’t want to use Java 8.
createDate requires Temporal.DateTime
com.amplifyframework.core.model.temporal public static final class Temporal.DateTime private final @ModelField(targetType="AWSDateTime", isRequired = true) Temporal.DateTime createDate;
Is there any other way I can accomplish this?
Date input = new Date(); LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); --> this requires Java 8 Todo todo = Todo .builder() .createDate(date) .build(); Amplify.DataStore.save(todo, result -> Log.i("MyAmplifyApp", "Created successfully"), error -> Log.e("MyAmplifyApp", "Error creating", error)
Advertisement
Answer
I ended up using the function in DateUtils.
https://docs.aws.amazon.com/appsync/latest/devguide/scalars.html
AWSDateTime
An extended ISO 8601 date and time string in the format YYYY-MM-DDThh:mm:ss.sssZ.
String date1 = com.amazonaws.util.DateUtils.formatISO8601Date(new Date()); Todo todo = Todo .builder() .createDate(new Temporal.DateTime(date1)) .build();
Note: This will store the date in GMT time.