首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Java中使用AWSDateTime

如何在Java中使用AWSDateTime
EN

Stack Overflow用户
提问于 2021-02-12 03:39:11
回答 2查看 429关注 0票数 0

试图弄清楚如何输入AWSDateTime。我不想使用Java8。

createDate需要Temporal.DateTime

代码语言:javascript
复制
com.amplifyframework.core.model.temporal
public static final class Temporal.DateTime

private final @ModelField(targetType="AWSDateTime", isRequired = true) Temporal.DateTime createDate;

有没有其他方法可以让我做到这一点?

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-12 05:46:20

我最终使用了DateUtils中的函数。

https://docs.aws.amazon.com/appsync/latest/devguide/scalars.html

AWSDateTime

格式为YYYY-MM-DDThh:mm:ss.sssZ的扩展ISO 8601日期和时间字符串。

代码语言:javascript
复制
String date1 = com.amazonaws.util.DateUtils.formatISO8601Date(new Date());

Todo todo = Todo .builder()
        .createDate(new Temporal.DateTime(date1))
        .build();

注意:这将以GMT时间存储日期。

票数 0
EN

Stack Overflow用户

发布于 2021-03-05 23:25:41

Temporal.DateTime有一个公共构造函数,它接受java.util.Date和以秒为单位的偏移量:

代码语言:javascript
复制
public DateTime(@NonNull java.util.Date date, int offsetInSeconds)

你可以这样使用它:

代码语言:javascript
复制
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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66161674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档