Android Trakt API对监视状态使用不同的时间(提前一小时)

Android Trakt API对监视状态使用不同的时间(提前一小时),android,api,kotlin,retrofit,Android,Api,Kotlin,Retrofit,我正在使用Trakt API创建一个Android应用程序来管理Trakt帐户 我正在使用一个改装库来访问这个API 我有一个问题,Trakt比我传递的值提前一小时增加 例如,我传递的UTC时间戳为: 2019-10-16T19:54Z 我预计时间是19点54分。Trakt将增加一个小时,使之成为20:54。 我正在使用org.threeten.bp OffSetDateTime库 我设置了OkHttp类拦截器来检查传递给Trakt API的JSON负载。我正在传递正确的时间戳(已观看): D/

我正在使用Trakt API创建一个Android应用程序来管理Trakt帐户

我正在使用一个改装库来访问这个API

我有一个问题,Trakt比我传递的值提前一小时增加

例如,我传递的UTC时间戳为: 2019-10-16T19:54Z

我预计时间是19点54分。Trakt将增加一个小时,使之成为20:54。 我正在使用org.threeten.bp OffSetDateTime库

我设置了OkHttp类拦截器来检查传递给Trakt API的JSON负载。我正在传递正确的时间戳(已观看): D/OkHttp:{“电影”:[{“ID”:{“trakt”:265470},“观看时间”:“2019-10-16T19:54Z”}]

我有一个方法(如下所示),首先显示DatePickerDialog,然后显示TimePickerDialog以捕获用户选择的日期/时间

然后,该数据用于创建LocalDateTime对象,然后该对象用于为UTC时间戳构建OffsetDateTime

此值传递给Trakt API:

代码:

上述结果是:

Time before offset 2019-10-16T18:35
Time post offset 2019-10-16T18:35Z
Time formatted before offset - 16/10/2019 18::35
Time formatted post offset - 16/10/2019 18::35

我认为解决这个问题的最佳方法就是减少用户输入时间一小时,因为Trakt只会再增加一小时:


var time = LocalDateTime.of(year, month+1, day, hourOfDay, minutes, 0, 0)

// Trakt time hack, Trakt will automatically add +1 hour for all history syncs, so take one hour to off set this
var timeHack = time.minusHours(1)
var date = OffsetDateTime.of(timeHack, ZoneOffset.UTC)
我还是不明白为什么Trakt在提供的时间上增加了一个小时

Time before offset 2019-10-16T18:35
Time post offset 2019-10-16T18:35Z
Time formatted before offset - 16/10/2019 18::35
Time formatted post offset - 16/10/2019 18::35

var time = LocalDateTime.of(year, month+1, day, hourOfDay, minutes, 0, 0)

// Trakt time hack, Trakt will automatically add +1 hour for all history syncs, so take one hour to off set this
var timeHack = time.minusHours(1)
var date = OffsetDateTime.of(timeHack, ZoneOffset.UTC)