如何格式化扫描文件列表的日期时间?

时间:2017-08-03 07:16:00

标签: c#

我在目录中扫描png文件并将其修改日期放在List中。

但是如何格式化DateTime

我想保留Date并删除Time

List<DateTime> MyFileDates = Directory.GetFiles("C:\\Images\\", "*.png")
.Select(File.GetLastWriteTime)
.ToList();

我尝试使用.ToString("dd/MM/yy"),但却出错了 No overload for method 'ToString' takes 1 arguments.

List<DateTime> MyFilesDates = Directory.GetFiles("C:\\Images\\", "*.png")
.Select(File.GetLastWriteTime)
.ToString("dd/MM/yy")
.ToList(); 

2 个答案:

答案 0 :(得分:3)

实现这一目标有两种方法。一种方法是使用格式为List<DateTime>

的字符串将List<string>转换为dd/MM/yy
 List<string> MyFilesDates = Directory.GetFiles("C:\\Images\\", "*.png")
    .Select(p => File.GetLastWriteTime(p)
    .ToString("dd/MM/yy"))
    .ToList();

其他方法是删除时间组件(将其设置为00:00:00):

List<DateTime> MyFilesDates = Directory.GetFiles("C:\\Images\\", "*.png")
    .Select(p => File.GetLastWriteTime(p))
    .Select(p => new DateTime(p.Year, p.Month, p.Day))
    .ToList();

答案 1 :(得分:2)

您的代码看起来很好,除非您必须在每个DateTime上放置ToString,而不是将其放在列表中。所以你去了

{{1}}

相反,它应该没问题。