flink 获取第二天的0点时间
Posted yyuan_in
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flink 获取第二天的0点时间相关的知识,希望对你有一定的参考价值。
获取格林威治标准时间的第二天00:00:00即获取北京时间的第二天08:00:00
val ts = ( ctx.timerService().currentProcessingTime()/(1000*60*60*24) + 1) * (1000*60*60*24)
获取北京时间的第二天00:00:00
val ts = ( ctx.timerService().currentProcessingTime()/(1000*60*60*24) + 1) * (1000*60*60*24)- 8 * 60 * 60 * 1000
如当前系统时间戳(毫秒)为:1673857075373 即北京时间2023-01-16 16:17:55
转成天数为19373.33967665509,因为是两个整数相除,所以得到的也是整数(没有四舍五入,直接舍弃小数),所以是19373天
+1天为19374天,这个19374天转成时间戳(毫秒)为1673913600000,即北京时间2023-01-17 08:00:00 (其实就是格林威治标准时间00:00:00)
若想得到北京时间的00:00:00就减去8小时:
(ctx.timerService().currentProcessingTime() / (24 * 60 * 60 * 1000) + 1) * (24 * 60 * 60 * 1000) - 8 * 60 * 60 * 1000
即可。
以上是关于flink 获取第二天的0点时间的主要内容,如果未能解决你的问题,请参考以下文章
前端如何设置一天只能点击一次的以及如何去判断第二天0点刷新的一些问题