C# 如何查看其他日期是否早于今天的日期
我有以下C代码:C# 如何查看其他日期是否早于今天的日期,c#,datetime,C#,Datetime,我有以下C代码: DateTime dt = Convert.ToDateTime(strDueDate); //strDueDate = '03-25-2015' string strToday = DateTime.Now.ToString("mm-dd-yyyy"); DateTime dt1 = Convert.ToDateTime(strToday); // this is displaying 9/3/2015 12:00:00 AM if (dt < dt1) { d
DateTime dt = Convert.ToDateTime(strDueDate); //strDueDate = '03-25-2015'
string strToday = DateTime.Now.ToString("mm-dd-yyyy");
DateTime dt1 = Convert.ToDateTime(strToday); // this is displaying 9/3/2015 12:00:00 AM
if (dt < dt1)
{
dvShowReopen.Visible = false;
}
我想做的是拿strDueDate和今天进行比较。如果小于今天,则将可见性设置为false
我怎样才能实现它。这段代码会不起作用吗
DateTime dt = new DateTime(2015, 3, 25);
DateTime dt1 = DateTime.Now;
if (dt < dt1)
{
dvShowReopen.Visible = false;
}
为什么要转换?您应该可以:
DateTime dt = Convert.ToDateTime(strDueDate); //strDueDate = '03-25-2015'
if (dt.CompareTo(DateTime.Now) < 0)
{
dvShowReopen.Visible = false;
}
如果您只查找日期部分与今天句子的比较,您可以使用dt将其与进行比较 您不需要这些字符串表示。每次生成DateTime的字符串表示形式并与另一个DateTime进行比较时,您都应该意识到自己做错了什么 让我们逐行查看您的代码到底在做什么
DateTime dt = Convert.ToDateTime("03-25-2015");
这一行将生成日期时间,幸运的是,这是您2015年3月25日12:00:00上午的一个日期时间。由于您的字符串没有时间部分,因此默认情况下为午夜
这将为您当前的本地时间生成一个以分钟而不是月、日和年表示的字符串。因为是几分钟,但却是几个月。运行此代码时,当前本地时间分钟数似乎为9。基于下一行
此行将基于您的03-09-2015字符串生成日期时间,因为前一行生成了此字符串,而且您的字符串仍然没有任何时间部分,因此它将生成9/3/2015 12:00:00 AM作为日期时间。尝试此操作
DateTime dt = Convert.ToDateTime(strDueDate);
if ((dt - DateTime.Now).TotalDays < 1)
{
dvShowReopen.Visible = false;
}
只是关于如何做的另一个想法
if (DateTime.TryParse(strDueDate, out dt))
dvShowReopen.Visible = (dt.CompareTo(DateTime.Now) < 0);
else
dvShowReopen.Visible = false;
DateTime.Now.ToStringmm-dd-yyyy;给你分钟而不是月份。dt
string strToday = DateTime.Now.ToString("mm-dd-yyyy");
DateTime dt1 = Convert.ToDateTime(strToday);
DateTime dt = Convert.ToDateTime(strDueDate);
if ((dt - DateTime.Now).TotalDays < 1)
{
dvShowReopen.Visible = false;
}
if (DateTime.TryParse(strDueDate, out dt))
dvShowReopen.Visible = (dt.CompareTo(DateTime.Now) < 0);
else
dvShowReopen.Visible = false;