0

我正在创建一个 Web 应用程序,我需要在其中比较两个日期和时间(甚至第二个)。

我为此使用以下代码:

//Check for delete button
                DateTime dtmEndDate;
                DateTime.TryParse(dtCommunication.Rows[0]["DateEnd"].ToString(), out dtmEndDate);

                if (dtmEndDate<=DateTime.Now)
                {

                //}
                //if DateTime.Compare(DateTime.Now.ToLocalTime(),dtmEndDate.ToLocalTime()) >= 0)
                //{
                    btnSend.Visible = false;
                    btnBack.Visible = false;

                    btnDelete.Visible = true;
                    btnCancel.Visible = true;         
                }

如果 EndDate 日期时间已经过去,那么它将进入 if 块。

这在本地工作正常,但是当我在服务器上上传代码时,它没有相应地工作。我怎么能处理这个?


示例:
dtmEndDate= 12/27/2012 7:00 PM
当前印度时间 =12/27/2012 8:00 PM
当前服务器时间=12/27/2012 8:30 AM

以上是场景。

4

1 回答 1

2

如果尝试失败,TryParse 将返回 false。

DateTime dtmEndDate;
if (DateTime.TryParse(dtCommunication.Rows[0]["DateEnd"].ToString(), out dtmEndDate))
{
   // okey dokey
}
else
{
   throw new SomeException(String.Format("{0} is not a valid date",dtCommunication.Rows[0]["DateEnd"].ToString());
}

将是一个好的开始。猜测是 dateend 是空白的,不是日期,也不是应用程序设置格式的日期。查看 ParseExact 和 System.Globalisation 命名空间的 CultureInfo。

于 2012-12-24T14:11:11.540 回答