我正在创建一个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日期时间已经过去,那么如果阻止它将进入内部。
这在本地运行正常,但是当我在服务器上传代码时,它无法正常工作。我怎么能处理这个?
例如:
dtmEndDate = 12/27/2012 7:00 PM
当前印度时间= 12/27/2012 8:00 PM
当前的服务器时间= 12/27/2012 8:30上午
场景。
答案 0 :(得分: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。