java - Java:日期字符串到小时
问题描述
我有这个日期字符串2020-07-26T20:08:27Z
,我想执行日期比较。
那么这个操作是否有任何框架/工具。
String s1 = "2020-07-26T20:08:27Z";
String s2 = "2020-07-26T21:08:27Z";
在上面的示例代码中,我想找到更大的日期
解决方案
tl;博士
Instant
.parse( "2020-07-26T20:08:27Z" )
.isBefore(
Instant.parse( "2020-07-26T21:08:27Z" )
)
真的
java.time
使用Java 8 及更高版本中内置的现代java.time类。
ISO 8601
Z
输入末尾的 表示与 UTC 的偏移量为零时分秒,或UTC本身。Z
发音为“祖鲁语” 。
您的输入字符串采用标准ISO 8601格式。java.time类在解析/生成字符串时默认使用这些格式。所以不需要指定格式模式。
Instant
一个Instant
对象代表 UTC 中的一个时刻。
Instant instantA = Instant.parse( "2020-07-26T20:08:27Z" ) ;
Instant instantB = Instant.parse( "2020-07-26T21:08:27Z" ) ;
比较使用equals
, isBefore
, isAfter
.
boolean aBeforeB = instantA.isBefore( instantB ) ;
Duration
您可以将两个时刻之间经过的时间捕获为一个Duration
对象。
Duration d = Duration.between( instantA , instantB ) ;
您可以询问Duration
对象是零还是负数。
推荐阅读
- python-3.x - 谁能告诉我这个循环有什么问题?
- r - 在 REg 10 = 1+0, 11 = 1+1 中单独对所有大于 9 的整数求和
- javascript - JavaScript 异步/等待未按预期工作
- spring - JWT 弹簧靴 2
- python-3.7 - Matplotlib SaveFig 返回一个几乎为空的图像
- html - CSS:悬停在元素的子元素上应该影响不同的元素
- java - 无效的 BSON 字段名称 $match
- python-3.x - 在最后一个暗淡处填充多个火炬张量
- typescript - 找不到模块“docs.mdx”或其相应的类型声明
- javascript - 在 useEffect 中获取多个请求