tongchenkeji 发表于:2023-12-6 19:19:150次点击 已关注取消关注 关注 私信 Flink日期减去24小时 怎么实现?需要保留时分秒[阿里云] 暂停朗读为您朗读 Flink日期减去24小时 怎么实现?需要保留时分秒 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 阿里云# 实时计算 Flink版3179# 流计算2236
小周sirAM 2023-12-21 8:22:46 1 在Flink中,可以使用DateTime类和TimeUnit枚举来实现日期减去24小时的操作。以下是一个示例: import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.streaming.api.windowing.time.Time;import org.apache.flink.util.Collector;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;import java.util.concurrent.TimeUnit;public class FlinkSubtract24Hours { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<String> input = env.fromElements("2022-01-01 12:00:00"); DataStream<String> output = input.map(new MapFunction<String, String>() { @Override public String map(String value) throws Exception { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime dateTime = LocalDateTime.parse(value, formatter); LocalDateTime newDateTime = dateTime.minus(1, TimeUnit.HOURS); return newDateTime.format(formatter); } }); output.print(); env.execute("Flink Subtract 24 Hours"); }} 在这个示例中,我们首先创建了一个StreamExecutionEnvironment,然后从输入数据流中读取一个字符串值。接下来,我们使用map函数将字符串值转换为LocalDateTime对象,然后使用minus方法减去24小时。最后,我们将结果转换回字符串并输出。
在Flink中,可以使用
DateTime
类和TimeUnit
枚举来实现日期减去24小时的操作。以下是一个示例:在这个示例中,我们首先创建了一个
StreamExecutionEnvironment
,然后从输入数据流中读取一个字符串值。接下来,我们使用map
函数将字符串值转换为LocalDateTime
对象,然后使用minus
方法减去24小时。最后,我们将结果转换回字符串并输出。TIMESTAMPADD(HOUR, -24, ts) 这个试试呢。此回答整理自钉群“实时计算Flink产品交流群”