package com.jcdm.main.plcserver.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.TimeZone; public class TimeUtil { public static void main(String[] args) { String str = "PACK.OP360.ModuleSNCode1"; System.out.println(str.charAt(str.length()-1)); } 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; } }