时间戳相减的几种方法
来源:互联网 发布:linux文件实时同步ftp 编辑:程序博客网 时间:2024/06/01 20:46
这两天正在写一个日报的code,其中有一处是涉及系统用时,简单来看,就是俩时间戳字段相减,方法可能有很多,这里列出一些,朋友们要是有更简单、更好玩的方法,可以回复,一起玩耍。
创建测试表,t1和t2是TIMESTAMP类型,t1比t2快1分钟,
直接使用t1-t2得到正值,t2-t1得到负值,
使用substr截取字段前18位,得到的是“yyyy-mm-dd hh24:mi:ss“格式的日期,两个日期字段相减则可以得到粒度为秒的结果值,乘以1440(24*60)*60,换算为秒,乘以1000,换算为毫秒,相减值为60000毫秒,
使用substr截取20位开始的6位,得到TIMESTAMP的6位,相减(001811-000000),
另一种方法,可以使用extract函数,得到DAY、HOUR、MINUTE、SECOND各个部分,
按照DAY、HOUR、MINUTE、SECOND各自换算为毫秒,相加得到总的毫秒,相减得到用时,单位是毫秒,这有两种用法,一种是首先换算t1和t2的值为毫秒,再相减这两个值,另一种是直接从t1-t2执行extract函数,换算为毫秒,等价的两种方法,
这种用法的优点在于,相比上面to_date相减,会有毫秒的精度,因为to_date截取了秒这一级别,毫秒被忽略了,因此使用extract函数,可以得到更精确的用时。
总结:
1. 两个时间戳类型的字段,可以相减得到两者用时。若用to_date则会按照格式符,有一定的截断,精度会被忽略。若用extract提取,SECOND包含毫秒,因此毫秒的精度会被保存,得到的结果会更精确些。extract可以接受两个字段相减,作为参数。
2. 实践,才可能准确、理性地知道一些用法细节。
对于上面的需求,如果有朋友有其他更好的办法,欢迎回复,一起学习!
如果您觉得此篇文章对您有帮助,欢迎关注微信公众号:bisal的个人杂货铺,您的支持是对我最大的鼓励!共同学习,共同进步:)
- 时间戳相减的几种方法
- 几种计算时间的方法
- java 获取时间的几种方法
- 获取时间的几种方法
- 时间统计的几种方法
- 获取当前时间的几种方法
- 项目时间管理的几种方法
- MFC获取时间的几种方法
- 时间戳的几种方法
- 获得当前时间的几种方法
- 几种获取当前时间的方法
- 测量程序运行时间的几种方法
- 补充:测量程序运行时间的几种方法
- 设置cookies过期时间的几种方法
- asp.net中时间格式化的几种方法
- C++ 计算 代码运行时间的 几种方法
- Java中获取时间的几种方法
- 减少Flex应用加载时间的几种方法
- linux中线程的基本相关知识
- 第三次爬虫实战--模拟登录Freelancer
- 图解PCIE原理(从软件角度)
- 持续集成之jenkins实践教程:基础篇(1): 邮件设置
- ORB-SLAM(四)追踪
- 时间戳相减的几种方法
- ORB-SLAM(五)优化
- 二叉树的各种操作(遍历/深度/距离/转换)
- ORB-SLAM(六)回环检测
- zoj 3509
- 最长公共子串与最长公共子序列
- FreeImage 3.17.0 在VS2015下编译及遇到问题解决
- pcie 驱动程序分析
- JAVA选择排序