ftp 网络响应日期时间格式

ftp web response date time format

我已经尝试使用 Ftp Web 响应来使用 ASP.Net 在 c# 中访问文件和目录详细信息。

System.Net.WebRequestMethods.Ftp.ListDirectoryDetails

我从 FTP 服务器收到如下响应:

01-27-17  06:54AM                14613 A J DOHMANN CHRYSLER INC.csv
09-20-18  12:27PM            122816576 ABC1Append.csv
09-12-18  08:45AM             54998269 ABC1_FileForAppend.csv

当我尝试使用以下正则表达式格式化日期时间时,我得到的结果是“01-01-0001 12:00 AM”

正则表达式:

(?<timestamp>\d{2}\-\d{2}\-\d{2}\s+\d{2}:\d{2}[Aa|Pp][mM])\s+(?<dir>\<\w+\>){0,1}(?<size>\d+){0,1}\s+(?<name>.+)

请有人帮忙,如何从 FTP 网络响应中获取正确的日期时间格式。

TIA。

无复现。

正则表达式 确实 捕获了时间戳。以下代码:

var input=@"01-27-17  06:54AM                14613 A J DOHMANN CHRYSLER INC.csv
09-20-18  12:27PM            122816576 ABC1Append.csv
09-12-18  08:45AM             54998269 ABC1_FileForAppend.csv";

var pattern="(?<timestamp>\d{2}\-\d{2}\-\d{2}\s+\d{2}:\d{2}[Aa|Pp][mM])\s+(?<dir>\<\w+\>){0,1}(?<size>\d+){0,1}\s+(?<name>.+)";
var rex=new Regex(pattern);
var ts=rex.Match(input).Groups["timestamp"].Value;

Returns

01-27-17  06:54AM

我怀疑其他一些代码正在尝试解析此字符串,但失败并且 returns 默认 DateTime 值。

这个字符串可以被解析,例如:

DateTime.Parse(ts,CultureInfo.GetCultureInfo("en-US"));

if(DateTime.TryParse(ts,CultureInfo.GetCultureInfo("en-US"),DateTimeStyles.None,out var dt))
{
    Console.WriteLine(dt);
}
else
{
    //Parsing failed!
}