0

我正在使用 sql server 2008 并尝试在用户上次登录早于添加到数据库的最后一条消息的日期时显示通知。

asp:panel用来显示隐藏通知文本,它工作得很好,但由于某种原因,我无法弄清楚为什么Compare我使用的方法没有返回预期的结果。

例如,当我将用户登录设置为01/05/2013并且数据库中的最近日期为01/04/2013时,我希望结果大于零 int 并转义 if 条件。不幸的是,这并没有发生,并且该方法总是进入 if 条件。

我认为这可能与castingfrom Dateto DateTime; 想法,好吗?

DateTime userEntry = new DateTime(2012, 01, 05);
DateTime lastMsg = new DateTime();
lastMsg = Convert.ToDateTime(ds.Tables[0].Rows[0]["Date"]);
int compared = DateTime.Compare(userEntry, lastMsg);
if (compared < 0) { notification.Visible = true; }
4

1 回答 1

0

您提到您正在尝试比较“01/05/2013”​​,但是,代码正在生成 2012 日期:

DateTime userEntry = new DateTime(2012, 01, 05); // 2012 date

我怀疑你的意思是:

DateTime userEntry = new DateTime(2013, 01, 05); // 2013 date
于 2013-01-05T17:34:18.227 回答