get DateTime.UtcNow.标记早于一天

本文关键字:一天 于一天 DateTime UtcNow get | 更新日期: 2023-09-27 18:22:00

我正在保存具有唯一名称的图像。为了获得唯一的名称,我使用了DateTime.UtcNow.Ticks。现在我想删除所有超过一天的图像。我怎样才能让蜱虫超过一天?我用记号绘制了时间图。

1:52:14.312 PM - 633614215343125000
1:52:14.359 PM - 633614215343593750
1:52:14.421 PM - 633614215344218750
1:52:14.468 PM - 633614215344687500
1:52:14.515 PM - 633614215998593750

让蜱虫超过一天的最好方法是什么?或者如何获得24小时前的滴答声?

get DateTime.UtcNow.标记早于一天

DateTime有一个以Ticks为参数的构造函数。从文件名中提取记号,将其解析为long并创建一个DateTime类型的对象。稍后您可以选择一天以上的记录。

DateTime dt = new DateTime(633614215998593750);

要选择早于一天的日期,请使用:

if(dt <= DateTime.Now.AddDays(-1))

TimeSpan.TicksPerDay会给你每天的刻度,所以只需从你当前的刻度中减去它,就可以得到24小时前的刻度,例如:

var ticks24HoursAgo = DateTime.UtcNow.Ticks - TimeSpan.TicksPerDay;

这应该做:

DateTime dt = new DateTime(ticks);
if (DateTime.Now - dt > TimeSpan.FromDays(1))
    {
       //do something
    }

此外,您可以使用UTC而不是本地

每个DateTime对象都有一个Ticks属性,所以只需获得24小时前的时间(在DateTime中添加-1天。现在应该足够了),然后删除所有小于计算时间的值。