【发布时间】:2019-02-20 15:45:31
【问题描述】:
我已经尝试使用 Ftp Web Response 来使用 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。
【问题讨论】:
-
@TheIncorrigible1 一个 FTP 服务器的响应 is 文本
-
@TheIncorrigible1 并非如此。并且 FTP 返回必须被解析的文本列表。这就是 FTP 的工作原理。 FtpWebRequest 也不提供很多 FTP 功能。还有其他 FTP 库,但即使是那些也必须解析结果
-
@TheIncorrigible1 检查How to: List directory contents with FTP
-
无论如何都没有复制。首先,我确实获取所有数据。其次,regex 只会返回它找到的文本。没有文字,没有结果。它不会返回
01-01-0001 12:00 AM。看起来一些 other 代码尝试解析时间戳并失败,返回值为 0001 年 1 月 1 日的默认 DateTime 对象 -
你是如何解析时间戳值的?您使用的是
TryParse还是TryParseExact?您是否检查他们的响应以查看解析是否成功?
标签: c# .net regex ftpwebresponse