如何在控制台应用程序中以当前格式占用时间

时间:2014-02-05 11:17:27

标签: c# asp.net console-application

我有一个控制台应用程序,我需要比较日期和时间,并需要发送电子邮件。

比较日期:

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()))

但这种情况不起作用。那么我怎样才能以指定的格式花时间?

2 个答案:

答案 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然后比较。