问题标签 [java.time.instant]

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 投票
1 回答
376 浏览

android - Android 错误“org.threeten.bp.temporal.UnsupportedTemporalTypeException:不支持的单位:秒”

我正在使用 'com.jakewharton.threetenabp:threetenabp:1.2.4' 库为较低的 API 版本使用较新的功能 DateTimeFormatter。

我有一种情况,我必须首先转换 JSON 响应中的日期,即“2020-07-23T00:00:00.000Z”这种格式。

然后我必须得到开始和结束日期之间的秒数才能启动计数器。

这是我创建的解决方案:

我收到错误“org.threeten.bp.temporal.UnsupportedTemporalTypeException:不支持的单位:秒”

我正在调用适配器内部的方法,我认为这可能是导致问题的原因。

这是我的适配器代码:

是的,我已经在 AndroidThreeTen.init(getActivity());之类的片段中对其进行了初始化。

我是这种时间和日期格式的新手。一些帮助将不胜感激。

0 投票
2 回答
58 浏览

date - 查找今天日期的前一天和今天日期之后的日期

我创建了一个财务应用程序,我希望该应用程序向用户显示财务月份。财务月份通常代表用户获得工资或最大收入的日子。那一天可以是每月的第一天,每月的最后一天,或者只是每个月的 15 号。此值可在设置中配置。

我尝试运行在我的 ViewModel 中调用的两种方法,getFirstDayOfMonth并且getLastDayOfMonth

为了更好地理解上下文,这里有一些例子,我们将今天的日期作为参考。2020 年 9 月 9 日。输入值是我从设置中读取的值,用户可以从中选择,是从 1 到 31 的数字。

示例:输入:5 输出:2020 年 9 月 5 日 00:00 开始,2020 年 10 月 4 日 23:59:59 结束

=================

输入:31 输出:2020 年 8 月 31 日 00:00 开始,2020 年 9 月 30 日 23:59:59

问题是如果月份没有那一天,它会得到左边最接近的一天,例如,如果选择31作为第一天并且该月份有30天,则将计算30作为第一天,同样对于结束日期,如果选择了 31 并且我们在 2 月并且它只有 28 天,则将选择 28。

到目前为止,我有这段代码,但我觉得它可以改进,也没有按预期工作。

例如,我编写了一个运行今天日期的测试,只将月份从 1 月更改为 12 月。这是当前算法的输出。每月 1 日是用户选择的日期,该日期在应用程序中也是默认设置。

也为 31 选择

0 投票
2 回答
229 浏览

java - java.time.Instant 无法从像“2016-07-02T00:00:00Z”这样的字符串中解析出来

在 REST API 响应中,我得到的日期为'2016-07-02T00:00:00Z'

在代码中,我有一个如下所示的列

出现以下错误:

java.time.format.DateTimeParseException:无法解析文本“2016-07-02T00:00:00Z”,在索引 19 处找到未解析的文本

请在这里帮助我。

0 投票
2 回答
507 浏览

java - 无法解析时间戳问题 java.time.format.DateTimeParseException:无法在索引 0 处解析文本“9/25/2020, 12:46:00 PM”

我试图在我检查网页上的时间戳值之前和之后捕获时间,然后确认我的时间戳落在这些时间之间。但是,我正在努力以一种干净的方式将我的字符串时间戳转换为可比较的格式。

我的错误:java.time.format.DateTimeParseException:文本 '9/25/2020, 12:46:00 PM' 无法在索引 0 处解析

0 投票
0 回答
106 浏览

java - 为什么 java.time.Instant 不显示任何闰秒?

在下面编辑答案摘要:

我试图更多地了解 java.time.Instant 和闰秒。如果我运行这个:

我预计会创建一个接近 2020 年初的时间/日期,即 1970 年 1 月 1 日之后 365 天的 50 批,因此允许有一堆闰年,短短几天。我确实得到了这样的约会。到目前为止,一切都很好。

我得到的日期/时间显示为2019-12-20T00:00:00Z. 令我惊讶的是,由于闰秒,我认为结果也会比午夜晚几秒钟。但这正是世界标准时间的午夜。

我误解了闰秒,还是 java.time.Instant (或者完全是别的东西!)?

编辑:正如评论者所指出的,Java 时间不需要对闰秒做任何事情,可能是因为 Unix 时间忽略了它们,其原因在 Wikipedia 文章中以及通过另一个问题间接指出。症结似乎是未来的闰秒是不可预测的,但当天文学家同意地球已经减慢到足以保证它的速度时,它就会被添加。而且这种放缓似乎是不可预测的。

请注意,我没有删除我的问题,因为其他人提到的问题中没有提到 Unix 时间和 java 时间之间的关联,所以我相信这增加了一些小的优点。

感谢您的输入!

0 投票
1 回答
861 浏览

java - 如何在 jOOQ 中使用带有 java Instant 的 SQL 时间戳?

我想使用Instant类型将其放入 MySQL 数据库(timestamp字段)。不幸的是,当使用 POJO 和 时Record#from(),出于某种原因,jOOQ 不允许我这样做。我的 gradle 配置有以下内容:

代码正在正确生成,但不起作用并在运行时给我错误:

我尝试添加自己的转换器和活页夹,但如果在 gradle config 中设置它们似乎不起作用name,因为在构建过程中会出现警告。但是没有name我就无法让 jOOQInstanttimestamp字段生成。

使用 jOOQ 的 POJO 时有没有办法Instant与 SQL一起使用?timestamp

0 投票
2 回答
217 浏览

java - 带有负值的即时加号

我有这个代码

我想像这样简化它

但是,我不确定是否plus可以正确处理负值或者是否会弄乱结果。

我可以这样使用plus,可能是负值吗?

0 投票
2 回答
418 浏览

java - 将 Instant 转换为 LocalDate 并得到 java.time.DateTimeException: Invalid value for Year

我将瞬间转换为 LocalDate ,这是我的实现:

但是,我在 Junit 测试中遇到了异常: java.time.DateTimeException: Invalid value for Year (valid values -999999999 - 999999999): -1000000000

任何人都可以帮忙吗?

谢谢!

0 投票
1 回答
190 浏览

java - 从 Instant 转换为 XMLGregorianCalendar,反之亦然,而不会丢失精度

使用java.time.Instantjavax.xml.datatype.XMLGregorianCalendar,我试图在不丢失精度的情况下从一个转换为另一个。

为什么此测试未通过以及如何解决?

0 投票
4 回答
292 浏览

java - 如何找到与给定 LocalDateTime 和 ZoneId 对应的所有 Instant?

在转换InstantLocalDateTime它时,可能会发生几个不同Instant的 s 被转换为相同的 s LocalDateTime。例如。在具有夏令时的时区。

我的问题是是否可以编写一个适用于任何ZoneIdLocalDateTime返回Instant映射到给定时区的所有 s的通用函数LocalDateTime