2015-11-13 66 views
0

我正在保存具有唯一名稱的圖像。要獲得唯一的名稱,我使用DateTime.UtcNow.Ticks。現在我想刪除比一天更早的所有圖像。我怎樣才能得到超過一天的蜱? 我已經用滴答聲繪製了時間。get 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

什麼'1:52:14.312 PM'代表什麼呢?我會說'TimeSpan',但它有'PM'指示符。 –

+0

一天中有多少個蜱蟲?從當前的刻度值減去該值,並且應該給出截止點。比這更少的東西比一天更舊。 –

+1

DateTime.UtcNow.AddDays(-1).Ticks –

回答

3

DateTime有一個constructor需要Ticks作爲參數。從文件名提取滴答,解析它們到long並創建一個DateTime類型的對象。稍後,您可以選擇比一天更早的記錄。

DateTime dt = new DateTime(633614215998593750); 

要選擇比日常使用的日期以上:

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

每個DateTime對象都有一個Ticks屬性,所以在24小時前得到(添加-1天到DateTime.Now應該足夠了),然後刪除所有小於計算時間滴答的值。

2

TimeSpan.TicksPerDay會給你每天蜱,所以只是減去從當前的蜱獲得蜱24小時之前如:

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

這應該這樣做:

DateTime dt = new DateTime(ticks); 

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

而且 - 您可以使用UTC而不是本地工作