DateFormatUtil

public class DateFormatUtil { /** * 字符串转为日期格式 * @param dateString * @return * @throws ParseException */ public static Date stringFormatDate(String dateString) throws ParseException{ SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = bartDateFormat.parse(dateString); return date; } /** * 字符串转为日期格式 * @param dateString * @return * @throws ParseException */ public static Date stringFormatDateTime(String dateString) throws ParseException{ SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = bartDateFormat.parse(dateString); return date; } /** * 字符串转为日期格式 * @param dateString * @return * @throws ParseException */ public static Date stringFormatDateTime2(String dateString) throws ParseException{ SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = bartDateFormat.parse(dateString); return date; } /** * 将时间格式化为含时分秒的字符串 * @param date * @return * @throws ParseException */ public static String dateTimeFormatString(Date date) throws ParseException{ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return dateFormat.format(date); } /** * 将时间格式化为不含时分秒的字符串 * @param date * @return * @throws ParseException */ public static String dateFormatString(Date date) throws ParseException{ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); return dateFormat.format(date); } public final static Date[] strToDateArray(String dateStr) { java.sql.Date date_temp = java.sql.Date.valueOf(dateStr); Calendar calendar = Calendar.getInstance(); calendar.setTime(date_temp); calendar.add(Calendar.HOUR_OF_DAY, 0); calendar.add(Calendar.MINUTE, 0); calendar.add(Calendar.SECOND, 0); java.util.Date beginDate = calendar.getTime(); calendar.add(Calendar.HOUR_OF_DAY, 23); calendar.add(Calendar.MINUTE, 59); calendar.add(Calendar.SECOND, 59); java.util.Date endDate = calendar.getTime(); return new Date[]{beginDate, endDate}; } /** * 通过实践搜索,字符串转日期 * @param beginDateStr * 开始时间 * @param endDateStr * 结束时间 * @return */ public static Date[] strToDateArray(String beginDateStr,String endDateStr){ try { if ("".equals(endDateStr) || endDateStr.length()==0) { endDateStr = beginDateStr; } Date beginDate = stringFormatDate(beginDateStr); Date endDate = stringFormatDate(endDateStr); Calendar calendar = Calendar.getInstance(); calendar.setTime(beginDate); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); beginDate = calendar.getTime(); calendar.setTime(endDate); calendar.set(Calendar.HOUR_OF_DAY, calendar.getMaximum(Calendar.HOUR_OF_DAY)); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); endDate = calendar.getTime(); return new Date[]{beginDate,endDate}; } catch (Exception e) { throw new RuntimeException("时间格式化错误"); } } public static Date getTheDayOfEndTime(String dateString ) throws ParseException { Date date = null; if(dateString.contains(" ")){ date = stringFormatDateTime(dateString); }else{ date = stringFormatDate(dateString); } return getTheDayOfEndTime(date); } public static Date getTheDayOfEndTime(Date date) throws ParseException { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); return cal.getTime(); } public static Date getTheDayOfStartTime(String dateString ) throws ParseException { Date date = null; if(dateString.contains(" ")){ date = stringFormatDateTime(dateString); }else{ date = stringFormatDate(dateString); } return getTheDayOfStartTime(date); } public static Date getTheDayOfStartTime(Date date) throws ParseException{ Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); return cal.getTime(); } }

SingleOutputStreamOperator<String> processDS = filterDS.process( new ProcessFunction<String, String>() { @Override public void processElement(String jsonStr, Context ctx, Collector<String> out) throws Exception { JSONObject jsonObj = JSON.parseObject(jsonStr); DwdTransTransFinishBean finishBean = jsonObj.getObject("after", DwdTransTransFinishBean.class); //补充运输时长字段 finishBean.setTransportTime(Long.parseLong(finishBean.getActualEndTime()) - Long.parseLong(finishBean.getActualStartTime())); //将运输结束时间转换为毫秒并-8小时 赋值给事件时间字段ts finishBean.setTs(Long.parseLong(finishBean.getActualEndTime()) - 8 * 60 * 60 * 1000L); //处理时间问题 说明:使用FlinkCDC读取MySQL表中DateTime类型的字段,会将读取的内容转换为时间毫秒数,并比实际时间大8小时 finishBean.setActualStartTime(DateFormatUtil.toYmdHms(Long.parseLong(finishBean.getActualStartTime()) - 8 * 60 * 60 * 1000L)); finishBean.setActualEndTime(DateFormatUtil.toYmdHms(Long.parseLong(finishBean.getActualEndTime()) - 8 * 60 * 60 * 1000L)); //脱敏 String driver1Name = finishBean.getDriver1Name(); String driver2Name = finishBean.getDriver2Name(); String truckNo = finishBean.getTruckNo(); driver1Name = driver1Name.charAt(0) + driver1Name.substring(1).replaceAll(".", "\\*"); driver2Name = driver2Name == null ? driver2Name : driver2Name.charAt(0) + driver2Name.substring(1).replaceAll(".", "\\*"); truckNo = DigestUtils.md5Hex(truckNo); finishBean.setDriver1Name(driver1Name); finishBean.setDriver2Name(driver2Name); finishBean.setTruckNo(truckNo); out.collect(JSON.toJSONString(finishBean)); } } );帮我注释
最新发布
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值