检查dateTime是周末还是工作日

pen*_*mas 21 c# datetime

<script Language="c#" runat="server">
  void Page_Load()
  {
   DateTime date = DateTime.Now;
   dateToday.Text = " " + date.ToString("d");
   DayOfWeek day = DateTime.Now.DayOfWeek;
   dayToday.Text = " " + day.ToString();

   if ((dayToday == DayOfWeek.Saturday) && (dayToday == DayOfWeek.Sunday))
    {
    Console.WriteLine("This is a weekend");
    }

 }
</script>
Run Code Online (Sandbox Code Playgroud)

使用dateTime,我试图测试当前日期是否是工作日或周末,然后我想打印响应给用户.目前我收到运行时错误.如果我删除了我的if语句,则第一项(当前日期和星期几)打印正确.

Far*_*nov 50

你在以下if语句中写了错误的varable:

if ((dayToday == DayOfWeek.Saturday) || (dayToday == DayOfWeek.Sunday))
{
    Console.WriteLine("This is a weekend");
}
Run Code Online (Sandbox Code Playgroud)

而不是dayToday,你必须在条件下使用day varable.

更新: 你也犯了错误.必须有or而不是and.

  • @meh-uk,然后您可以为每种文化创建`List&lt;DayOfWeek&gt;周末`,因此您的代码如下:`if(weekends.Contains(dayToday)) ...` (2认同)

DAX*_*lic 8

您正在将ASP.NET标签dayTodayDayOfWeek当然失败 的枚举元素进行比较

也许你要替换dayTodayday您的if说法,即从

if ((dayToday == DayOfWeek.Saturday) && (dayToday == DayOfWeek.Sunday))
Run Code Online (Sandbox Code Playgroud)

if ((day == DayOfWeek.Saturday) && (day == DayOfWeek.Sunday))
Run Code Online (Sandbox Code Playgroud)

此外,您可能还希望最终用&&逻辑'或'(||)替换逻辑'和'()

if ((day == DayOfWeek.Saturday) || (day == DayOfWeek.Sunday))
Run Code Online (Sandbox Code Playgroud)