获取DateTime.UtcNow.Ticks超过一天

时间:2015-11-13 18:43:06

标签: c# datetime

我正在使用唯一名称保存图像。为了获得唯一名称,我使用了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小时前的价格?

4 个答案:

答案 0 :(得分:3)

DateTimeconstructor,其中Ticks为参数。从文件名中提取标记,将其解析为long并创建DateTime类型对象。之后您可以选择超过一天的记录。

DateTime dt = new DateTime(633614215998593750);

要选择超过一天的日期,请使用:

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

这应该做:

DateTime dt = new DateTime(ticks);

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

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

答案 3 :(得分:0)

每个DateTime对象都有一个Ticks属性,因此只需24小时前(将DateTime添加-1天即可),然后删除所有小于计算时间的刻度的值。 / p>