比较系统日和日期时间

时间:2012-07-20 00:19:20

标签: c# winforms datetime

我正在使用下面的代码比较两次:

DateTime systemtime = DateTime.Now;
DateTime timestart = Convert.ToDateTime(txtTimestart.Text);
DateTime timeend = Convert.ToDateTime(txtTimeend.Text);

if (systemtime < timestart || systemtime > timeend)
{
    MessageBox.Show("not auth.");
}
else
{
    MessageBox.Show("auth.");
}

但我也想比较当天。例如,如果今天是星期一或星期四,则对用户进行身份验证,否则进行身份验证。我该怎么做?感谢。

4 个答案:

答案 0 :(得分:1)

DateTime systemtime = DateTime.Now;
if(systemtime.DayOfWeek == DayOfWeek.Monday)
{
...
}

答案 1 :(得分:1)

timestart.DayOfWeek会为您提供DayOfWeek.ThursdayDayOfWeek.Friday等值。

请参阅此处获取文档和示例:http://msdn.microsoft.com/en-us/library/system.datetime.dayofweek.aspx

答案 2 :(得分:0)

DateTime对象将具有属性DayOfWeek。 你可以只比较字符串。

答案 3 :(得分:0)

试试这个

var systemtime = DateTime.Now;
var start = "Monday";
var finish = "Wednesday";
DayOfWeek startDay;
if (!Enum.TryParse<DayOfWeek>(start ,out startDay))
{
    //handle parse error 
}
DayOfWeek finishDay;
if (!Enum.TryParse<DayOfWeek>(finish, out finishDay))
{
    //handle parse error
}

if (systemtime.DayOfWeek < startDay || systemtime.DayOfWeek > finishDay)
{
    MessageBox.Show("not auth.");
}
else
{
    MessageBox.Show("auth.");
}