问题标签 [threetenabp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
33708 浏览

android - 如何在 Android 项目中使用 ThreeTenABP

我问这个问题是因为我是 Java 和 Android 的新手,我搜索了几个小时试图弄清楚这一点。答案来自相关答案的组合,所以我想我会记录我所学到的知识,以供其他可能正在苦苦挣扎的人使用。见答案。

我正在使用 Android Studio 2.1.2,我的 Java 设置如下:

0 投票
2 回答
45355 浏览

java - 如何使用 ThreeTenABP 将 ZonedDateTime/OffsetDateTime 转换为日期?

使用ThreeTen Android Backport库,将ZonedDateTimeorOffsetDateTime转换为老式java.util.Date实例的最简单方法是什么?

如果我有完整的 Java 8 库可供我使用,这当然是这样做的方法(如在这个问题中):

但我不能在 Android 上使用它;特别Date.from(Instant instant)是失踪。

0 投票
1 回答
683 浏览

java-time - 为什么我的 UTC 时刻没有转换为 BST?

我有以下代码:

这让我感到惊讶,因为我认为inst这将是 GMT/UTC 时间,并且formatter会将其格式化为伦敦时间(该日期为 BST (UTC+1:00)),生成19:00.

我在这里想念什么?

我猜这是我的代码的一个普遍问题,但如果它有所不同,那就是使用ThreeTen-Backportorg.threeten.bp.*项目中的类,进一步适应ThreeTenABP项目中的早期 Android。

0 投票
1 回答
1055 浏览

android - 如何使 LocalDate 和 LocalTime 可打包?

我是 android 新手,并使用 ThreeTenABP(因此它与更多设备兼容)LocalDate 和 LocalTime 来管理 android 应用程序,我需要将它们打包。

我有可打包的复杂类 Appointment,它具有 LocalDate 和 LocalTime 的实例作为属性;我认为默认情况下不可打包的类。

我不想改变逻辑来处理不同的类,甚至是原语;因为这些类在整个应用程序中被广泛使用。自然,这些属性不会自动放入 Appointment(Parcel in) 方法中,我不知道如何包含它们,甚至是否可能。

性能非常重要,所以我也不考虑将 Serializable 作为一个选项。

这是 Appointment 类(另外,我确保所有其他自定义对象都可打包):

我已经尝试向 Appointment(Parcel in) 和 writeToParcel() 添加日期和时间,就像其他属性一样,但它说参数类型错误:

第一个参数类型错误。找到:'org.threeten.bp.LocalDate',需要:'android.os.Parcelable'

如果我留下日期和时间,我不会收到任何错误消息,但是当应用程序到达 intent.putExtra() 方法以将对象传递给相应的活动时会崩溃。

请帮忙

0 投票
1 回答
333 浏览

android - 如何设置和使用 ThreeTenABP 库

我无法让 ThreeTenABP 工作。这是我所做的:

  1. 在应用程序 build.gradle 中导入依赖项

    implementation 'com.jakewharton.threetenabp:threetenabp:1.2.1'

  2. 在 MyApplication.onCreate() 中初始化库

    AndroidThreeTen.init(this)

  3. 将 MyApplication 添加到清单

    <application android:name=".MyApplication" ...>

  4. 使用 Instant 解析字符串

    Instant.parse(updatedOn)

唯一可能的导入Instantjava.time.Instant. 但这直到 Android API 26 才可用,这就是我想首先使用 ThreeTenABP 的原因。我找到了一些使用 import 的示例org.threeten.bp.Instant,但在我的情况下找不到此导入/包。我已经做了臭名昭著的“使缓存无效并重新启动”,但无济于事。还有什么我想念的吗?

0 投票
2 回答
1000 浏览

android - org.threeten.bp.format.DateTimeParseException

当我尝试像这样解析日期时,出现以下错误:

无法解析文本“2019-11-04”:无法从 TemporalAccessor 获取 LocalDateTime:DateTimeBuilder[, ISO, null, 2019-11-04, null], type org.threeten.bp.format.DateTimeBuilder

0 投票
2 回答
93 浏览

android - 索引 0 处的 DateTimeParseException 与 ThreeTenABP

我正在尝试使用 ThreeTenABP 解析时间字符串(因为我必须支持 min SDK 19)。我认为字符串是 ISO 8601:

20200117T172638.000Z

我得到以下异常:

org.threeten.bp.format.DateTimeParseException: Text '20200117T172638.000Z' could not be parsed at index 0

我的代码:

任何帮助表示赞赏。提前致谢。

0 投票
0 回答
211 浏览

android - Gradle 同步错误:重复键 AdditionalClassifierArtifactsImpl

我正在构建一个 Android 项目。当我打开项目时,在 gradle 同步期间,我不断收到以下错误消息:

build gradle 中的相关部分:

但是,如果我使用 Gradle 文件执行手动同步项目,则 gradle 同步成功。有人知道什么可能导致错误消息?

0 投票
2 回答
399 浏览

kotlin - java.time 格式日期取决于区域设置,2 位数的日/月和 4 位数的年份

我需要根据当地的顺序显示一个日期为 2 位数的日期、2 位数的月份、4 位数的年份。所以April 10th 2020我想展示

  1. 对于美国地区:MM/DD/YYYY->04/10/2020
  2. 对于英国地区:DD/MM/YYYY->10/04/2020
  3. 对于语言环境 DE(德国):DD.MM.YYYY->10.04.2020

我尝试了以下但没有成功:

那么,如何获得只有 2 位日/月和 4 位年的本地适应日期格式?请注意,我正在寻找一个通用解决方案,此处明确说明的 3 个语言环境只是示例。

我实际上正在使用java.timeAndroid ( ThreeTenABP) 的端口,尽管这不相关。

0 投票
1 回答
233 浏览

android - 使用 ThreetenBp 解析 DateTime 会导致 DateTimeParseException 或不完整的字符串错误

我正在尝试检查日期是否已超过一天。

我在解析字符串时得到了这些错误。

我的数据示例在这里:

我试过这些:

他们都没有工作......正确的方法是什么?