package com.billion.main.plcServer.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.TimeZone; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TimeUtil { public static void main(String[] args) { String dateString = "Tue May 14 18:25:18 CST 2024"; // System.out.println(test(dateString)); // String str = "OP330"; // System.out.println(str.substring(0,5)); // String tightenData = "[9.077463,12.0,OK,OK]"; // tightenData = tightenData.replace("[", "").replace("]", "").replace(" ", ""); // String[] tightenDataParts = tightenData.split(","); // for (int i = 0; i < tightenDataParts.length; i++) { // System.out.println(tightenDataParts[i]); // } String originalString = "[3.6,7.8,OK,OK]"; String modifiedString = originalString.replaceFirst("OK", "NG"); System.out.println(modifiedString); // 输出: [3.6,7.8,NG,OK] // System.out.println(isNumberInRange(7.7, 7.5, 8.5)); // System.out.println(test( stringProcessing("DateTime{utcTime=133601559184960000, javaDate=Tue May 14 18:25:18 CST 2024}"))); } public static String replaceNumber(String input) { String regex = ",(\\d+),"; String replacement = ",NG,"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); return matcher.replaceAll(replacement); } // 检查一个数是å¦åœ¨ä¸¤ä¸ªæ•°å®šä¹‰çš„区间内(ä¸åŒ…å«è¾¹ç•Œï¼‰ public static boolean isNumberInRange(Double number, Double start, Double end) { return number >= start && number <= end; } public static String stringProcessing(String dateTimeStr){ String result = ""; // 找到 "javaDate=" çš„ä½ç½® int javaDateIndex = dateTimeStr.indexOf("javaDate="); if (javaDateIndex != -1) { // 从 "javaDate=" åŽé¢å¼€å§‹æˆªå– javaDateIndex += "javaDate=".length(); // 找到日期时间å—符串结æŸçš„ä½ç½®ï¼Œè¿™é‡Œå‡è®¾æ˜¯å—ç¬¦ä¸²çš„ç»“å°¾æˆ–è€…ç©ºæ ¼çš„ä½ç½® int endIndex = dateTimeStr.indexOf('}', javaDateIndex); if (endIndex == -1) { // å¦‚æžœæ²¡æœ‰æ‰¾åˆ°ç©ºæ ¼ï¼Œå°±å–到å—符串的末尾 endIndex = dateTimeStr.length(); } // 使用 substring 方法截å–日期时间部分 String dateTimePart = dateTimeStr.substring(javaDateIndex, endIndex); result = dateTimePart; } else { System.out.println("javaDate= not found in the string."); } return result; } public static String getTimestamp(String param){ String result = ""; // å®šä¹‰æ—¥æœŸæ—¶é—´æ ¼å¼å’Œæ—¶åŒº SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US); sdf.setTimeZone(TimeZone.getTimeZone("GMT+8")); // CST通常表示ä¸å›½æ ‡å‡†æ—¶é—´ï¼Œå³ä¸œå…«åŒº try { // 解æžæ—¥æœŸæ—¶é—´å—符串 Date date = sdf.parse("Mon Jan 01 17:05:23 CST 2024"); // 获å–时间戳(毫秒) long timestamp = date.getTime(); // 输出13ä½æ—¶é—´æˆ³ result = String.valueOf(timestamp); } catch (ParseException e) { e.printStackTrace(); } return result; } public static String getYyyyDdMm(String inputDate){ String outputPattern = "yyyy-MM-dd HH:mm:ss"; // 定义一个解æžå™¨ï¼Œç”¨äºŽå¿½ç•¥æ—¶åŒºï¼ˆä»…作为示例,å¯èƒ½éœ€è¦è°ƒæ•´ä»¥å¤„ç†ä¸åŒçš„输入) SimpleDateFormat parser = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH); parser.setLenient(false); // 设置ä¸å®½æ¾ï¼Œä»¥ä¸¥æ ¼åŒ¹é…æ ¼å¼ // 解æžæ—¥æœŸå—符串 Date date = null; try { date = parser.parse(inputDate); } catch (ParseException e) { e.printStackTrace(); } // å®šä¹‰ä¸€ä¸ªæ ¼å¼åŒ–å™¨ï¼Œç”¨äºŽè¾“å‡ºæ‰€éœ€çš„æ ¼å¼ SimpleDateFormat formatter = new SimpleDateFormat(outputPattern); // æ ¼å¼åŒ–日期 String outputDate = formatter.format(date); return outputDate; } public static String test(String param){ String str = ""; // 创建一个SimpleDateFormat对象æ¥è§£æžè¾“入的日期å—符串(å‡è®¾CST为ä¸å›½æ ‡å‡†æ—¶é—´ï¼‰ SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US); inputFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); // 设置为ä¸å›½æ—¶åŒº Date date = null; try { date = inputFormat.parse(param); } catch (ParseException e) { e.printStackTrace(); } // 创建一个SimpleDateFormat对象æ¥æ ¼å¼åŒ–日期为UTC时间 SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); outputFormat.setTimeZone(TimeZone.getTimeZone("UTC")); // 设置为UTC时区 // æ ¼å¼åŒ–日期 if (date != null) { str = outputFormat.format(date); } return str; } }