0

在窗口中,我可以从属性(右键单击)获取视频的创建日期。
我对此有一些想法,但我不知道该怎么做。
1.直接从视频中获取视频信息(如windows中),
2. 通过提取视频名称获取创建日期(视频名称为日期格式,即创建时间)。
而且我还使用taglib-sharp来获取视频持续时间和分辨率,但我找不到任何关于如何获取视频创建日期的示例代码。

注意:日期格式的视频名称 - 例如,20121119_125550.avi

编辑
找到这个代码,到目前为止它的工作

string fileName = Server.MapPath("//video//20121119_125550.avi");
FileInfo fileInfo = new FileInfo(fileName);
DateTime creationTime = fileInfo.CreationTime;

输出:2012/11/19 12:55:50

对于文件名,我将在名称中添加另一个字符串。比如User1-20121119_125550.avi.avi,后面会比较复杂。

4

1 回答 1

1

如果您可以安全地信任您的文件名,您可能会对以下内容感到满意:

string file_name = "20121119_125550.avi";
string raw_date = file_name.Split('.')[0];
CultureInfo provider = CultureInfo.InvariantCulture;


string format = "yyyyMMdd_hhmmss";
DateTime result = DateTime.ParseExact(raw_date, format, provider);

注意:您可能需要添加using System.Globalization;到您希望在其中使用它的任何文件中。

如果您只想要文件的创建日期(您在 Windows 资源管理器中看到的),您可以使用:

string file_path = @"C:\20121119_125550.avi"; //Add the correct path
DateTime result = File.GetCreationTime(file_path);
于 2012-11-26T04:44:21.053 回答