我有一个控制台应用程序,我需要比较日期和时间,并需要发送电子邮件。
比较日期:
if ((String.Format("{0:dd/MM/yyyy}", thisresult.schedule_StartDate)) == String.Format("{0:dd/MM/yyyy}", DateTime.Now.ToShortDateString())
工作正常。但现在我需要将&&
条件置于此处并比较时间。在数据库中,我将时间存储为nvarchar
。我有这样的数据存储在数据库中: 10:00 。
为此,我试着这样做:
if ((String.Format("{0:mm}", thisresult.schedule_starttime)) == String.Format("{0:mm}", DateTime.Now.ToShortDateString()))
但这种情况不起作用。那么我怎样才能以指定的格式花时间?
答案 0 :(得分:2)
比较DateTime
而不是String
s。
比较DateTime
使用DateTime.Today
:
thisresult.schedule_StartDate == DateTime.Today
TimeSpan
使用DateTime.TimeOfDay
:
thisresult.schedule_starttime == DateTime.Now.TimeOfDay
答案 1 :(得分:1)
你说你有这样的数据存储在数据库中:10:00然后尝试
if (thisresult.schedule_starttime.Replace(" ","") == DateTime.Now.ToString("HH:mm"))
Replace
仅在schedule_starttime为string时有效。正如你所说的schedule_starttime是varchar,如果不是,那么首先转换为string然后比较。