我想尝试(以编程方式)猜测文件的创建日期。它被命名为 BlaBla.2012-06-04.xlw ,我猜它是在2012年6月4日创建的。
但是,如果该文件被命名为其他内容,例如 SitOnA.PotatoPanOtis.pal ,我希望能够简单地放弃(没有尝试转换为导致异常的DateTime)并呈现具有DateTimePicker的用户。
可行?
我有这段代码:
String substr = SelectedFileName.Substring(DATE_BEGIN_POS, DATE_LENGTH);
return DateTime.Parse(substr);
我认为这样的事情会有意义:
try
{
String substr = SelectedFileName.Substring(DATE_BEGIN_POS, DATE_LENGTH);
return DateTime.Parse(substr);
}
catch (ConversionException ce)
{
//Show form with DateTimePicker
}
似乎这样的事情应该有效:
DateTime dt;
if (!(DateTime.TryParse(substr, out dt))) {
. . .
答案 0 :(得分:4)
var creationTime = File.GetCreationTime(@"c:\myfile.txt");
答案 1 :(得分:1)
您可以使用File.GetCreationTime
直接询问创建时间,或者如果您尝试通过文件名猜测,那么您可以使用TryParse作为日期,如果不起作用(方法)返回false)然后显示对话框。
答案 2 :(得分:1)
使用RegEx匹配文件名。
Regex r = new Regex("\d{4}-\d{2}-\d{2}");
if (r.Match(fileName).Success) {
//GUESS!
}