当前位置:网站首页>【时间的比较】
【时间的比较】
2022-08-03 17:01:00 【欧菲斯集团】
mysql中时间的比较方法
在mysql对数据的搜索中一定遇到过对时间的搜索。使用较多的有 <,>,<=,>=,between and。在搜索的过程中我们可以发现,对于在日期类型为DATE,DATETIME,TIMESTAMP,TIME的字符串进行比较的时候,我们比较的字符串无论是:
SELECT * from customer WHERE create_time < ‘2022-02-13’;
SELECT * from customer WHERE create_time < ‘2022#02#13’;
SELECT * from customer WHERE create_time < ‘20220213’;
都可以搜索出同样的数据结果。这是因为对这些类型进行比较的时候对字符串的格式要求不严格,比较的字符串可以选择任何格式的分割符进行比较。
获取当前时间
在进行比较的时候有时候会有种业务场景是要求获取当前时间,常用的有三类:
- 获取当前时间(日期+时间)
SELECT now();
SELECT sysdate();
SELECT CURRENT_TIMESTAMP();
前两函数获取的时间是datetime类型,而后一种获取的是时间戳。
- 获取当前日期(日期)
SELECT CURRENT_DATE();
获取的类型是date
- 获取当前时间(时间)
SELECT CURRENT_TIME();
获取的时间类型是time
Java中时间的比较方法
在Java中时间的比较方式就更多了,除了前面讲的mysql中的方法也是适用外还有mybatis提供的gt、ge、lt、le和Date()自带的after()、before()还有String提供的compareTo()都可由用于时间的比较。
gt、ge、lt、le
方法 | 作用 |
---|---|
gt | 大于> |
ge | 大于等于> |
lt | 小于< |
le | 小于等于<= |
这些方法不仅仅只是用于时间的比较,他们还可以用于数量大小的比较。
after()和before()
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beginTime="2022-07-09 10:22:22";
String endTime="2022-07-31 11:22:22";
Date beginDate=sdf.parse(beginTime);
Date endDate=sdf.parse(endTime);
System.out.println(beginDate.before(endDate));
System.out.println(beginDate.after(endDate));
compareTo()
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beginTime="2022-07-09 10:22:22";
String endTime="2022-07-31 11:22:22";
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
beginTime比endTime小时会返回负数,相反就返回正数,相等返回0。
边栏推荐
- C专家编程 第3章 分析C语言的声明 3.6 typedef int x[10]和#define x int[10]的区别
- 数字资产的价值激发:NFT 质押
- 掌握Redis的Sentinel哨兵原理,可助你拿到25k的offer
- After using Stream for many years, does collect still have these "saucy operations"?
- 国内首发可视化智能调优平台,小龙带你玩转KeenTune UI
- sibling component communication context
- MobileVIT实战:使用MobileVIT实现图像分类
- 兄弟组件通信context
- 组件通信--下拉菜单案例
- Interviews are no longer hanged!This is the correct way to open the seven schemes of Redis distributed locks
猜你喜欢
随机推荐
【There is no tracking information for the current branch. Please specify which branch you want to 】
C# 获取文件名和扩展名(后缀名)
TypeScript的配置文件tsconfig.json
FinClip | 2022 年 7 月产品大事记
TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践
#yyds干货盘点# 面试必刷TOP101:两个链表的第一个公共结点
security加密解密
高效的组织信息共享知识库是一种宝贵的资源
阿里二面:没有 accept,能建立 TCP 连接吗?
C# 构造函数如人之影子
自动化部署+整合SSM项目
工程仪器设备在线监测管理系统常见问题和注意事项
兄弟组件通信context
C专家编程 第3章 分析C语言的声明 3.5 typedef可以成为你的朋友
Halcon 小笔记 C# 图片是否有效
TypeScript文件的编译执行
【Metaverse系列一】元宇宙的奥秘
[redis] cache penetration and cache avalanche and cache breakdown solutions
组件通信--下拉菜单案例
EasyExcel实现动态列解析和存表