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!
}
我已经尝试使用 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!
}