java根据类型不确定的字符串获取时间

发布时间:2023年12月28日

java根据类型不确定的字符串获取时间
输入一串字符串日期,掺杂其他字符并且格式不确定,可能是XX年XX月XX日格式,也可能是XX.XX.XX,也可能是XX-XX-XX,均可获取出对应格式日期

 public static String testDate(String input){
        input=StringUtils.deleteWhitespace(input);
        String regex = "\\d{4}年\\d{1,2}月\\d{1,2}日";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        String date=null;
        if (matcher.find()) {
            date = matcher.group();
        }
        if (StringUtil.isNullOrBlank(date)){
            regex = "\\d{4}.\\d{1,2}.\\d{1,2}";
            pattern = Pattern.compile(regex);
            matcher = pattern.matcher(input);
            if (matcher.find()) {
                date = matcher.group();
            }
        }
        if (StringUtil.isNullOrBlank(date)){
            regex = "\\d{4}-\\d{1,2}-\\d{1,2}";
            pattern = Pattern.compile(regex);
            matcher = pattern.matcher(input);
            if (matcher.find()) {
                date = matcher.group();
            }
        }
        return date;
    }
   public static void main(String[] args) {
        System.out.println(testDate("49年(至2023年10月1日止)"));//输出2023年10月1日
        System.out.println(testDate("今日2023.11.12"));//输出2023.11.12
        System.out.println(testDate("测试2023 -0 1-12"));//输出2023-01-12
    }
文章来源:https://blog.csdn.net/weixin_43872691/article/details/135265178
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。