2014-02-19 41 views
-1

我有这个线在我的代码:如何在发布后的24小时后删除帖子?

PostedId.Add(responsePost); 
PostedId.Add(DateTime.Now.ToLongDateString()); 

PostedId是列表 我添加到它贴帖子的ID,并添加后的日期。

然后,我有这个按钮点击事件,根据每个POS ID删除的文章:

private void button7_Click(object sender, EventArgs e) 
     { 
      var responsePost = ""; 
      try 
      { 
       var objFacebookClient = new FacebookClient(AccessPageToken); 
       for (int i = 0; i < PostedId.Count; i++) 
       { 
        char[] array = PostedId[i].Where(c => Char.IsDigit(c) || c == '_').ToArray(); 
        string s1 = new string(array); 
        objFacebookClient.Delete(s1); 
       } 
      } 
      catch (Exception ex) 
      { 
       responsePost = "Facebook Posting Error Message: " + ex.Message; 
      } 
     } 

相反按钮单击事件我会在后面的代码移动到一个计时器事件。 我想要添加到代码是检查,如果它的ID日期发送通过24小时(一天),然后删除它。

这是实施例的PostedId名单什么样子:

index 0: {"id":"344087212396598_344923118979674"} 
index 1: Wednesday, February 19, 2014 
index 2: {"id":"344087212396598_344923125646340"} 
index 3: Wednesday, February 19, 2014 

指数1属于显示日期索引0 ID发送。 索引3是发送索引2的日期。

我要检查的是,如果索引1处的日期已过24小时删除索引0,然后将其删除自指数1.

然后,对于索引3和2相同的当索引3的时间传递24小时先删除索引2然后删除索引3.

等等所有索引都放在了PostedId List中。

我该如何在我的button7单击事件中添加此检查,因此当我点击像现在它不会自动删除所有帖子,但只有那些通过24小时的人?

编辑**

这就是我现在做的:

在表格上我补充说:

private List<DateTime> dt = new List<DateTime>(); 

然后补充说:

PostedId.Add(responsePost); 
dt.Add(DateTime.Now); 

然后我检查日期:

private void button7_Click(object sender, EventArgs e) 
     { 
      TimeSpan span = new TimeSpan(1, 0, 0, 0); 
      var responsePost = ""; 
      try 
      { 
       var objFacebookClient = new FacebookClient(AccessPageToken); 
       for (int i = 0; i < PostedId.Count; i++) 
       { 
        char[] array = PostedId[i].Where(c => Char.IsDigit(c) || c == '_').ToArray(); 
        string s1 = new string(array); 
        if (dt[i] <= DateTime.Now.Subtract(span)) 
        { 
         objFacebookClient.Delete(s1); 
        } 
       } 
      } 
      catch (Exception ex) 
      { 
       responsePost = "Facebook Posting Error Message: " + ex.Message; 
      } 
     } 

是吗?我的意思是,如果(dt [i] < = DateTime.Now.Subtract(span))是正确的比较?

我使用断点:

现在我= 0,所以DT索引0是:{2014年2月19日下午7点56分07秒} 和SPAN是:1,0,0,0 而DateTime.Now.Subtract中的DateTime.Now是:{2/19/2014 7:59:08 PM}

那么它何时会删除它? 24小时后?我做对了吗?

+1

if语句? – Mozzie

+0

现在编辑我的问题与我做了什么。是对的吗 ? – user3200169

+0

@ user3200169你为什么说'我的问题'? AFAIK这个问题来自user2704319,这显然是一个不同的身份。你能澄清这一点吗? – rene

回答

1

你可以使用沿着

TimeSpan span = new Timespan(1,0,0,0) //this sets the span to one day 

然后线的东西做一个比较

if(message.date =< DateTime.Now.Subtract(span)) 
{ 
     //do stuff 
} 

else 
{ 
     // do something else 
} 
+0

现在编辑我的问题与我什么确实。是对的吗 ? – user3200169

+0

是的,看起来是正确的,当我进入办公室并且为你确认时我会进行测试 –

相关问题