如何在 Java 中使用 AWSDateTime
How to use AWSDateTime in Java
正在尝试了解如何输入 AWSDateTime。我不想使用 Java 8.
createDate 需要 Temporal.DateTime
com.amplifyframework.core.model.temporal
public static final class Temporal.DateTime
private final @ModelField(targetType="AWSDateTime", isRequired = true) Temporal.DateTime createDate;
还有其他方法可以实现吗?
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)
我最终使用了 DateUtils 中的函数。
https://docs.aws.amazon.com/appsync/latest/devguide/scalars.html
AWSDateTime
格式为 YYYY-MM-DDThh:mm:ss.sssZ.
的扩展 ISO 8601 日期和时间字符串
String date1 = com.amazonaws.util.DateUtils.formatISO8601Date(new Date());
Todo todo = Todo .builder()
.createDate(new Temporal.DateTime(date1))
.build();
注意:这将以 GMT 时间存储日期。
Temporal.DateTime
有一个 public 构造函数,它采用 java.util.Date
并以秒为单位进行偏移:
public DateTime(@NonNull java.util.Date date, int offsetInSeconds)
你可以这样使用它:
Date date = new Date();
int offsetMillis = TimeZone.getDefault().getOffset(date.getTime());
int offsetSeconds = (int) TimeUnit.MILLISECONDS.toSeconds(offsetMillis);
Temporal.DateTime temporalDateTime = new Temporal.DateTime(date, offsetSeconds);
Todo todo = Todo.builder()
.createDate(temporalDateTime)
.build();
正在尝试了解如何输入 AWSDateTime。我不想使用 Java 8.
createDate 需要 Temporal.DateTime
com.amplifyframework.core.model.temporal
public static final class Temporal.DateTime
private final @ModelField(targetType="AWSDateTime", isRequired = true) Temporal.DateTime createDate;
还有其他方法可以实现吗?
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)
我最终使用了 DateUtils 中的函数。
https://docs.aws.amazon.com/appsync/latest/devguide/scalars.html
AWSDateTime
格式为 YYYY-MM-DDThh:mm:ss.sssZ.
的扩展 ISO 8601 日期和时间字符串String date1 = com.amazonaws.util.DateUtils.formatISO8601Date(new Date());
Todo todo = Todo .builder()
.createDate(new Temporal.DateTime(date1))
.build();
注意:这将以 GMT 时间存储日期。
Temporal.DateTime
有一个 public 构造函数,它采用 java.util.Date
并以秒为单位进行偏移:
public DateTime(@NonNull java.util.Date date, int offsetInSeconds)
你可以这样使用它:
Date date = new Date();
int offsetMillis = TimeZone.getDefault().getOffset(date.getTime());
int offsetSeconds = (int) TimeUnit.MILLISECONDS.toSeconds(offsetMillis);
Temporal.DateTime temporalDateTime = new Temporal.DateTime(date, offsetSeconds);
Todo todo = Todo.builder()
.createDate(temporalDateTime)
.build();