我正在使用唯一名称保存图像。为了获得唯一名称,我使用了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小时前的价格?
答案 0 :(得分:3)
DateTime
有constructor,其中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>