pgsql 中计算时间差
epoch
对于带有时区值的时间戳,自1970-01-01 00:00:00:00时起的秒数(可为负值);
对于日期和时间戳值,为自1970-01-01 00:00:00本地时间以来的秒数;
对于间隔值,为间隔中的总秒数
。
这里 /60 取整为分钟,其他情况可以相应处理一下
更多请看官方文档
https://www.postgresql.org/docs/9.2/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT
SELECT (extract(epoch from '2018-01-10 10:14:15'::timestamp-'2018-01-10 08:14:10'::timestamp)/60) :: int8;
select (date_part('epoch', COALESCE('2018-01-10 10:14:15'::timestamp, now()) -
'2018-01-10 08:14:10'::timestamp)/60) :: int8 ;
-- 转换为分钟 2位小数
SELECT (extract(epoch from COALESCE('2020-12-15 10:02:00', now())
- '2020-12-15 10:00:05') / 60) :: DECIMAL(18,2);
日常运维中难免会遇到主从切换的场景,比如机房迁移、故障机替换等待,为了平滑迁移需要先将待下线主机上的主全部切走,主从切换动作有损所以需要低峰期操作,一般都是凌晨以后,如果联动业务核心指标做好前后校验,其实是可以将该动作自动化的,如果自动化就涉及到定时执行,这里记录下在平台上通过go语言实现定时任务的简单思路
通过go语言实现定时任务有两种方法,一种是采用主机自带的crontab机制,go语言有对应的包实现,另一种是采用计时器的方式,如果采用前者,前端需要将通过时间选择器获取的时间转化为定时任务的时
public void tr(){
final LocalDateTime fromDate = LocalDateTime.now();
final LocalDateTime toDate = LocalDateTime.now().plusHours(56);
long minutes = ChronoUnit.MINUTES.between(fromDate, toDate)
java中LocalDateTime计算两个时间间隔,转换为时-分-秒。
利用Duration类可以轻松拿到两个LocalDateTime的时间间隔,可以获取到间隔的秒数,然后转换为时-分-秒:
Duration duration = Duration.between(date1, now);
localdate简单使用 java计算时间差 localDateTime 计算时间差 Java计算时间差 jdk LocalDateTime localdate LocalDateTime简单操作localdate简单使用 java计算时间差 localDateTime 计算时间差 Java计算时间差 jdk LocalDateTime localdate LocalDateTime简单操作localdate简单使用 java计算时间差 localDateTime 计算时间差 Java计算时间差 jdk
我们看到, 直接在可视化工具里用SQL写
ccf.last_update_timestamp between TIMESTAMP '2019-12-13' AND TIMESTAMP '2019-12-13'
甚至去掉 TIMESTAMP 都是可以的, pgSQL可以自动把字符串给你转换成日期格式, 然后作比较
但是在mapper文件中这么写就不可以了, 它会提示你varchar类型不能和日期类型进行比较