我有这个线在我的代码:如何在发布后的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小时后?我做对了吗?
if语句? – Mozzie
现在编辑我的问题与我做了什么。是对的吗 ? – user3200169
@ user3200169你为什么说'我的问题'? AFAIK这个问题来自user2704319,这显然是一个不同的身份。你能澄清这一点吗? – rene