我正在努力解决一个问题。我有一些我想用名字打开的文件 -
XX-20160229-0920
(每个文件都有不同的时间)。我需要打开只与当前时间相匹配的文件减去几个小时。我减去的小时数每次都不同。我已尝试使用currentTime.AddHours(time)
,但如果减去的小时数大于当前时间,则日期不会相应更改,这是我需要使用文件名解析的内容。
答案 0 :(得分:0)
var name = DateTime.Now.AddHours(-2)
.ToString("XX-yyyyMMdd-hhmm", CultureInfo.InvariantCulture);
这将以您要求的格式提供日期/时间,但显然每分钟都会更改。
答案 1 :(得分:0)
首先定义从文件名到实际日期时间值的转换,可以解决问题。总的来说,以下函数可以根据某些比较值接受或拒绝日期。
bool AcceptFileName(string FileName, DateTime Now, int HoursIntoPast)
{
DateTime DateTimeFromFileName
= DateTime ParseExact(FileName, "XX-yyyyMMdd-hhmm", CultureInfo.InvariantCulture);
return Now.AddHours(-HoursIntoPast) <= Now;
}