如何在发布后24小时内删除帖子?

时间:2014-02-19 16:35:42

标签: c# winforms

我的代码中有这些行:

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

PostedId是List 我添加了发布的帖子的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 List的示例:

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;
            }
        }

是吗?我的意思是if(dt [i]&lt; = DateTime.Now.Subtract(span))是正确的比较吗?

我使用了一个断点:

现在i = 0所以dt索引0是:{2/19/2014 7:56:07 PM} 跨度为:1,0,0,0 DateTime.Now.Subtract中的DateTime.Now是:{2/19/2014 7:59:08 PM}

那么什么时候删除呢? 24小时后?我做对了吗?

1 个答案:

答案 0 :(得分: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
}