首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ZonedDateTime的比较运算符与比较方法

ZonedDateTime的比较运算符与比较方法
EN

Stack Overflow用户
提问于 2022-07-26 03:07:16
回答 1查看 96关注 0票数 2

使用<,>和==并不总是与在比较ZonedDateTimes时使用.isBefore、.isAfter和isEqual相同,如下面的Kotlin示例所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.time.ZonedDateTime
import java.time.ZoneId
import java.time.ZoneOffset

fun main() {
    val a = ZonedDateTime.of(2022, 1, 1, 13, 0, 0, 0, ZoneId.of("Europe/Oslo"))
    val b = ZonedDateTime.of(2022, 1, 1, 12, 0, 0, 0, ZoneOffset.UTC)
    println("a = $a")
    println("b = $b")
    println()
    println("a < b: ${a < b}")
    println("a > b: ${a > b}")
    println("a == b: ${a == b}")
    println()
    println("a.isBefore(b): ${a.isBefore(b)}")
    println("a.isAfter(b): ${a.isAfter(b)}")
    println("a.isEqual(b): ${a.isEqual(b)}")
}

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = 2022-01-01T13:00+01:00[Europe/Oslo]
b = 2022-01-01T12:00Z

a < b: false
a > b: true
a == b: false

a.isBefore(b): false
a.isAfter(b): false
a.isEqual(b): true

有什么关系?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-26 03:26:02

运算符<>>=<=都转换为compareTo调用,compareTo做的事情与isBeforeisAfter有很大不同。

compareTo

将此日期时间与另一个日期时间(包括年表)进行比较.比较的基础首先是即时,然后是本地日期-时间,然后是区域ID,然后是年表。正如Comparable所定义的,它是“与等于一致的”。

isBefore

检查此日期时间的瞬间是否早于指定的日期时间.

基本上,compareTo比较了更多的东西。换句话说,它有更多的“打破领带”。如果有必要的话,它甚至可以把年表进行比较。另一方面,isBefore/isAfter只比较ZonedDateTimes所代表的瞬间。

所讨论的两个日期,2022-01-01T13:00+01:00Europe/奥斯陆和2022-01-01T12:00Z代表相同的时间瞬间,因此isBeforeisAfter都返回false。另一方面,compareTo比较本地日期时间来打破平局。当地日期时间2022-01-01T13:00+01:00Europe/奥斯陆比2022-01-01T12:00Z晚,因此compareTo认为前者“更大”。

equals (==)和isEqual - equals之间存在着类似的区别,这比isEqual要多得多.

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73122276

复制
相关文章
mongoDB 比较运算符
比较运算符是我们学习任何语言或系统中最为常见的运算符之一。mongoDB的比较运算符,跟Linux的差不多,只不过每一个比较运算符前面会带有符号,他们分别是$eq、$gt、$gte、$lt、$lte、$ne、$in、符号,他们分别是\$eq、\$gt、\$gte、\$lt、\$lte、\$ne、\$in、nin等,下面将对这几个运算符进行描述。 一、比较运算符 $eq = "=" $gt (greater than ) > $gte
Leshami
2018/08/13
1.2K0
【mysql】比较运算符
比较运算符 = <=> <> != < <= > >= 比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。 比较运算符经常被用来作为SELECT查询语句的条件来使用,返回符合条件的结果记录。 [请添加图片描述] [请添加图片描述]1. 等号运算符(=) 等号运算符(=)判断等号两边的值、字符串或表达式是否相等,如果相等则返回1,不相等则返回0。 在使用等号运算符时,遵循如下规则: 如果等号两边的值、字符串或表达式都
兮动人
2022/03/02
2.5K0
Python比较运算符
#!/usr/bin/python # -*- coding: UTF-8 -*- a = 21 b = 10 c = 0 if a == b : print "1 - a 等于 b" else: print "1 - a 不等于 b" if a != b : print "2 - a 不等于 b" else: print "2 - a 等于 b" if a <> b : print "3 - a 不等于 b" else: print "3 - a 等于 b" if a < b : print "4 - a 小于 b" else: print "4 - a 大于等于 b" if a > b : print "5 - a 大于 b" else: print "5 - a 小于等于 b" # 修改变量 a 和 b 的值 a = 5 b = 20 if a <= b : print "6 - a 小于等于 b" else: print "6 - a 大于 b" if b >= a : print "7 - b 大于等于 a" else: print "7 - b 小于 a"
用户8442333
2021/05/26
5090
Python比较运算符
Python比较运算符 以下假设变量a为10,变量b为20: 运算符 描述 实例 == 等于 - 比较对象是否相等 (a == b) 返回 False。 != 不等于 - 比较两个对象是否不相等 (a != b) 返回 True. > 大于 - 返回x是否大于y (a > b) 返回 False。 < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 True。 >= 大于等于 - 返回x是否大于
用户1077021
2019/11/02
6240
java比较运算符
Java中的比较运算符(也称为关系运算符)用于比较两个值的大小或是否相等,返回一个布尔值(true或false)。本文将介绍Java中的比较运算符的使用方法、注意事项以及一些示例。
堕落飞鸟
2023/04/03
7750
JavaScript中的比较运算符
第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。
acoolgiser
2019/01/17
1.4K0
Java 中的比较运算符
这时 Android Studio 不高兴了,在 long 下面打上红色波浪线,然后提示小菜鸟:
零式的天空
2022/03/25
1.1K0
Java 中的比较运算符
这时 Android Studio 不高兴了,在 long 下面打上红色波浪线,然后提示小菜鸟:
mzlogin
2020/04/14
1.3K0
JavaScript中的比较运算符
最后一个null >= 0的结果为true。 刚看到这个代码的时候,下意识地会认为结果应该也是false,毕竟上边标明了三种情况都为false。 然而这个就露出了相等运算符和关系运算符两者执行的差异。
贾顺名
2019/12/05
1.2K0
JavaScript中的比较运算符
JavaScript中的比较运算符 JavaScript中的比较运算符粗略的可以分为两种: 相等运算符(==、===、!==)这些 关系运算符(>、<、>=) 在平时开发中,基本不会太关注这两者的差异,我们几乎总是可以获取到我们想要的结果-。- 前几天在群里一个小伙伴问了个问题: console.log(null > 0) // => false console.log(null < 0) // => false console.log(null == 0) // => fals
贾顺名
2018/04/12
1.1K0
JavaScript中的比较运算符
awk中比较运算符
awk 中的比较运算符用于比较数字或字符串的值,它们包括以下内容: > - 大于 < - 小于 >= – 大于或等于 <= – 小于或等于 == - 等于 != - 不等于 some_value ~ / pattern/ – 如果 some_value 匹配模式,则为真 some_value !~ / pattern/ – 如果 some_value 与模式不匹配,则为真 现在我们已经了解了 awk 中的各种比较运算符,让我们通过一个例子更好地理解它们。 在这个例子中,我们有一个名为的文件 rumen
入门笔记
2022/06/02
1.2K0
Python基础 - 比较运算符
似小陈吖
2023/10/17
1270
ug与solidworks比较_如何比较
UG是想做什么就做什么,SW是能做什么就做什么。 SW无时不在向使用者表达这样一个信息:花这点钱,能用就行呗,要什么自行车。。
全栈程序员站长
2022/09/20
2.7K0
shell文件比较运算符
+ - * / % 表示加减乘除和取余运算 += -= *= /= 同 C 语言中的含义
yaohong
2019/09/11
1.2K0
与Hashtable比较get方法和clear方法
由于Hashtable无论是读还是写还是遍历,都需要获得对象锁,串行操作,因此在多线程环境下性能比较差。   但是ConcurrentHashMap不能完全取代Hashtable:HashTable的迭代器是强一致性的,而ConcurrentHashMap是弱一致的。其实 ConcurrentHashMap的get,clear,iterator 都是弱一致性的。 Doug Lea 也将这个判断留给用户自己决定是否使用ConcurrentHashMap。   弱一致性:不保证数据完全处于一致性状态。比如:
用户7999227
2021/10/07
2510
JS方法比较
Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。
愤怒的小鸟
2021/02/07
6.3K0
排序方法比较
MachineLP
2022/05/09
3510
排序方法比较
Python编程运算符 比较运算符
 比较运算符就是咱们常见的< ,>, =, <=,>=。通常结合if条件判断语句。
网络豆
2022/11/20
9510
Python编程运算符 比较运算符
浅谈 Python 中的比较运算符
自己在写代码的时候很少去关注变量的比较要如何实现,基本都是直接使用 == 。今天就借此机会聊聊 Python 中的比较运算符。
江不知
2019/12/12
1.2K0
PHP- 运算符-比较运算符(一)
比较运算符是编程语言中最基本的运算符之一,用于比较两个值之间的大小、相等性和不等性。在PHP中,比较运算符包括等于、不等于、大于、小于、大于等于和小于等于六个运算符。
堕落飞鸟
2023/04/26
9860

相似问题

带时区的SimpleDateFormat与ZonedDateTime的比较

36

Python中的比较运算符与“富比较”方法

22

斯利克比较Rep[Option[ZonedDateTime]]和ZonedDateTime

10

如何将ZonedDateTime的时间与另一个ZonedDateTime进行比较,但只与时间而不是日期进行比较?

20

将两个ZonedDateTime与忽略区域进行比较

113
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文