根据正则表达式获取字符串中的时间

/**
 * 根据正则表达式获取字符串中的时间
 *
 * @param path
 * @return
 */
public static String getTime(String path) {
    //年 4位 月 1-2位 日 1-2位 时 1-2位 分 1-2位 秒 1-2位
    Pattern pattern = Pattern.compile("[0-9]{4}[0-9]{1,2}[0-9]{1,2}[0-9]{1,2}[0-9]{1,2}[0-9]{1,2}");
    Matcher matcher = pattern.matcher(path);
    String dateStr = null;
    if (matcher.find()){
        dateStr = matcher.group(0);
    }
    return dateStr;
}

测试


public static void main(String[] args) {
    String path = "D:\\SoftWare\\Java\\jdk1.8.0_221\\jre\\lib\\security\\policy\\unlimited\\20220718155630233\\a.txt";
        String time = getTime(path);
        System.out.println("time = " + time);
        time = time.substring(0,4) + "-" + time.substring(4,6) + "-" + time.substring(6,8)
                + " " + time.substring(8,10) + ":" + time.substring(10,12) + ":" + time.substring(12);
        System.out.println("newTime = " + time);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = null;
        try {
            date = sdf.parse(time);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println("date = " + date);
    }

结果

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值