【问题标题】:What is a surefire way of getting a file's true creation time?获取文件真实创建时间的可靠方法是什么?
【发布时间】:2012-06-01 21:23:25
【问题描述】:

我需要知道我正在下载的文件的创建时间或上次写入时间。我只需要日期(例如 2011 年 6 月 17 日)。通常,文件的日期可以通过其名称来推测,例如“DonQuixoteWasRight.2011-06-17.log”

问题是文件可以有各种不同的命名格式,甚至可能不包含日期,例如“SanchoPanzaWasLeft.txt”

我认为 FileInfo 类可能会参与救援,但使用以下代码:

FileInfo fInfo = new FileInfo(SelectedFileName);
//DateTime when = fInfo.CreationTime; //or CreationTimeUtc?
DateTime when = fInfo.LastWriteTime; //or LastWriteTimeUtc?
return when;

...它只是返回我访问文件的时间(尽管我既没有创建它也没有明确写入它)。 CreationTime 和 LastWriteTime 都不返回文件的真实 CreationTime 或 LastWriteTime。有什么办法可以查到吗?

【问题讨论】:

  • 您在资源管理器的属性中看到了什么?
  • @SLaks:同样的事情,即“今天,2012 年 6 月 1 日,下午 1:47:10”等等。
  • 那么显然不是 C# 问题。
  • 不过,我想用 C# 解决这个问题。

标签: c# date fileinfo


【解决方案1】:

听起来您正试图找出文件在服务器上的修改时间。

除非服务器以某种方式明确告诉您,否则无法找出答案。

【讨论】:

    【解决方案2】:

    没有真正的方法可以确定文件是在服务器上还是在本地计算机上,因为用户可以更改上次修改日期和其他元数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-31
      • 2018-03-19
      • 2016-01-09
      • 2021-03-29
      • 1970-01-01
      • 2014-09-20
      相关资源
      最近更新 更多