问题标签 [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.
android - 如何在 Android 项目中使用 ThreeTenABP
我问这个问题是因为我是 Java 和 Android 的新手,我搜索了几个小时试图弄清楚这一点。答案来自相关答案的组合,所以我想我会记录我所学到的知识,以供其他可能正在苦苦挣扎的人使用。见答案。
我正在使用 Android Studio 2.1.2,我的 Java 设置如下:
java - 如何使用 ThreeTenABP 将 ZonedDateTime/OffsetDateTime 转换为日期?
使用ThreeTen Android Backport库,将ZonedDateTime
orOffsetDateTime
转换为老式java.util.Date
实例的最简单方法是什么?
如果我有完整的 Java 8 库可供我使用,这当然是这样做的方法(如在这个问题中):
但我不能在 Android 上使用它;特别Date.from(Instant instant)
是失踪。
java-time - 为什么我的 UTC 时刻没有转换为 BST?
我有以下代码:
这让我感到惊讶,因为我认为inst
这将是 GMT/UTC 时间,并且formatter
会将其格式化为伦敦时间(该日期为 BST (UTC+1:00)),生成19:00
.
我在这里想念什么?
我猜这是我的代码的一个普遍问题,但如果它有所不同,那就是使用ThreeTen-Backportorg.threeten.bp.*
项目中的类,进一步适应ThreeTenABP项目中的早期 Android。
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() 方法以将对象传递给相应的活动时会崩溃。
请帮忙
android - 如何设置和使用 ThreeTenABP 库
我无法让 ThreeTenABP 工作。这是我所做的:
在应用程序 build.gradle 中导入依赖项
implementation 'com.jakewharton.threetenabp:threetenabp:1.2.1'
在 MyApplication.onCreate() 中初始化库
AndroidThreeTen.init(this)
将 MyApplication 添加到清单
<application android:name=".MyApplication" ...>
使用 Instant 解析字符串
Instant.parse(updatedOn)
唯一可能的导入Instant
是java.time.Instant
. 但这直到 Android API 26 才可用,这就是我想首先使用 ThreeTenABP 的原因。我找到了一些使用 import 的示例org.threeten.bp.Instant
,但在我的情况下找不到此导入/包。我已经做了臭名昭著的“使缓存无效并重新启动”,但无济于事。还有什么我想念的吗?
android - org.threeten.bp.format.DateTimeParseException
当我尝试像这样解析日期时,出现以下错误:
无法解析文本“2019-11-04”:无法从 TemporalAccessor 获取 LocalDateTime:DateTimeBuilder[, ISO, null, 2019-11-04, null], type org.threeten.bp.format.DateTimeBuilder
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
我的代码:
任何帮助表示赞赏。提前致谢。
android - Gradle 同步错误:重复键 AdditionalClassifierArtifactsImpl
我正在构建一个 Android 项目。当我打开项目时,在 gradle 同步期间,我不断收到以下错误消息:
build gradle 中的相关部分:
但是,如果我使用 Gradle 文件执行手动同步项目,则 gradle 同步成功。有人知道什么可能导致错误消息?
kotlin - java.time 格式日期取决于区域设置,2 位数的日/月和 4 位数的年份
我需要根据当地的顺序显示一个日期为 2 位数的日期、2 位数的月份、4 位数的年份。所以April 10th 2020
我想展示
- 对于美国地区:
MM/DD/YYYY
->04/10/2020
- 对于英国地区:
DD/MM/YYYY
->10/04/2020
- 对于语言环境 DE(德国):
DD.MM.YYYY
->10.04.2020
我尝试了以下但没有成功:
那么,如何获得只有 2 位日/月和 4 位年的本地适应日期格式?请注意,我正在寻找一个通用解决方案,此处明确说明的 3 个语言环境只是示例。
我实际上正在使用java.time
Android ( ThreeTenABP
) 的端口,尽管这不相关。
android - 使用 ThreetenBp 解析 DateTime 会导致 DateTimeParseException 或不完整的字符串错误
我正在尝试检查日期是否已超过一天。
我在解析字符串时得到了这些错误。
我的数据示例在这里:
我试过这些:
他们都没有工作......正确的方法是什么?