首页 > 解决方案 > 从字符串中提取最新的日期时间

问题描述

我有以下字符串格式的列值,例如:

第 1 行

PLX[12]@03/21 14:34 (475573-B) FCX[36]@03/22 17:03 (272497-B)LDX[44]@03/22 17:01 (272497-N)

第 2 行

PLX[12]@03/21 14:34 (475573-B)LDX[44]@03/22 17:01 (272497-N)

第 3 行

PLX[12]@03/21 14:34 (475573-B)

需要获取每行的最新日期(03/22 17:03对于 row1)并将其转换为DateTime

DateTime dt = DateTime.ParseExact("03/21 14:34", "MM/dd HH:mm", CultureInfo.InvariantCulture);

需要您帮助从字符串中提取最新日期。我不明白如何使用Regex它来工作。请建议

标签: c#regexdatetime

解决方案


以这种方式解决

private static DateTime ParseDateTime(string dateTimeStr)
{
      var records = dateTimeStr.Split("\r\n");

      // example PLX[12]@03/21 14:34 (475573-B)            
       return records
          .Select(x => DateTime.ParseExact(x.Substring(8, 11), "MM/dd HH:mm", CultureInfo.InvariantCulture))
          .Max();
 }

感谢@oleksa 的建议


推荐阅读