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点刷新的一些问题

Flink 实现自定义滑动窗口

Flink 实现自定义滑动窗口

电脑设置了每天下午五点自动关机,第二天早上电脑为啥还是开着的?

Flutter 开发从 0 到 1布局与 ListView

Flutter 开发从 0 到 1布局与 ListView