c#截取字符串中的指定日期数值 其余的不截取,这个字符串是动态的不是固定的。

问题遇到的现象和发生背景

这是我的数组文件

img

用代码块功能插入代码,请勿粘贴截图
public int UpEditPDFileName(string Vin,string dateTime)
        {
            var files = GetAllFiles(@"D:\BackPDF");
            int a = Convert.ToInt32(Convert.ToInt32(files.ToString().Substring(19, 10)) - Convert.ToInt32(dateTime));
            foreach (var item in files.ToString().Substring(0,18))
            {
                using (DataContext dataContext = new DataContext())
                {
                    IDbTransaction tr = dataContext.BeginTransaction();
                    StringBuilder sb = new StringBuilder();
                    sb.AppendFormat(" UPDATE t SET PrintFileName='{0}' WHERE vin='{1}';",files.ToString(),Vin);
                    IDbExecutor executor = dataContext.CreateExecutor(sb.ToString());
                    int i = executor.ExecuteNonQuery(null);
                    if (i > 0)
                    {
                        tr.Commit();
                    }
                    else
                    {
                        tr.Rollback();
                    }

                }
            }
                
             return 1;
        }


以上是我的代码

运行结果及报错内容

截取的字符串异常

我的解答思路和尝试过的方法

使用substring

我想要达到的结果

我要截取到这个文件的时间并减去我传过来的时间 小于一分钟就更新数据

Substring(19, 10)这里不对
既然你的字符串不是固定的,那你要先判断日期从第几位开始啊,不能直接按19去截取