C# 如何简单比较当前日期是否为假日

C# 如何简单比较当前日期是否为假日,c#,datetime,C#,Datetime,我正在尝试使用DateTime.Now来比较当前日期与选定假日的硬编码列表,以测试当前日期是否等于假日。我刚刚开始学习c#所以我不是在寻找一个优雅的答案,我只是在尝试用我必须的东西来理解结果 <script Language="c#" runat="server"> void Page_Load() { DateTime date = DateTime.Now; dateToday.Text = " " + date.ToString("d"); str

我正在尝试使用DateTime.Now来比较当前日期与选定假日的硬编码列表,以测试当前日期是否等于假日。我刚刚开始学习c#所以我不是在寻找一个优雅的答案,我只是在尝试用我必须的东西来理解结果

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

   string newYear = "01/01/2016";
   if (newYear == dateTime.Now){
       message.Text = ("This is New Years");
       }
   }
  <body>
  <asp:label id="message" runat="server"/>
  </body>

无效页面加载()
{
DateTime date=DateTime.Now;
dateToday.Text=”“+date.ToString(“d”);
字符串newYear=“01/01/2016”;
if(newYear==dateTime.Now){
message.Text=(“这是新年”);
}
}

不要使用字符串比较日期。有太多不同的方法来表示日期,无法将它们作为字符串进行可靠比较。将它们作为日期进行比较(并使用
今天
而不是
现在
忽略时间部分):


不要使用字符串比较日期。有太多不同的方法来表示日期,无法将它们作为字符串进行可靠比较。将它们作为日期进行比较(并使用
今天
而不是
现在
忽略时间部分):


将字符串解析为日期
DateTime.Parse()
并进行比较

if (DateTime.Parse(newYear)== DateTime.Now.Date)

将字符串解析为日期
DateTime.Parse()
并进行比较

if (DateTime.Parse(newYear)== DateTime.Now.Date)
我会使用比较日期,这里有一个例子

DateTime now = DateTime.Now;
DateTime newYear = new DateTime(2016, 1, 1);
// or DateTime newYear = DateTime.Parse("01/01/2016");

if (newYear.Date == now.Date){
  message.Text = "This is new years";
}
在处理日期时,最好使用
DateTime
结构,因为它比字符串传递更多的含义。当您想要执行更复杂的操作时,您还可以在排序、筛选、操作和显示数据方面获得更大的灵活性。e、 g:

var holidays = new List<DateTime> { new DateTime(2016, 1, 1), new DateTime(2016, 12, 25) };
var now = DateTime.Now;

if (holidays.contains(now.Date){
  message.Text = "Today is a holiday!";
}
var holidays=newlist{new DateTime(2016,1,1),new DateTime(2016,12,25)};
var now=DateTime.now;
如果(假日.包含(现在.日期){
message.Text=“今天是假日!”;
}
我会使用比较日期,下面是一个示例

DateTime now = DateTime.Now;
DateTime newYear = new DateTime(2016, 1, 1);
// or DateTime newYear = DateTime.Parse("01/01/2016");

if (newYear.Date == now.Date){
  message.Text = "This is new years";
}
处理日期时,最好使用
DateTime
结构,因为它比字符串更能传达含义。当您想执行更复杂的操作时,您还可以在排序、筛选、操作和显示数据方面获得更大的灵活性。例如:

var holidays = new List<DateTime> { new DateTime(2016, 1, 1), new DateTime(2016, 12, 25) };
var now = DateTime.Now;

if (holidays.contains(now.Date){
  message.Text = "Today is a holiday!";
}
var holidays=newlist{new DateTime(2016,1,1),new DateTime(2016,12,25)};
var now=DateTime.now;
如果(假日.包含(现在.日期){
message.Text=“今天是假日!”;
}

提示:字符串不是日期….(反之亦然)您不允许将字符串与字符串日期进行比较吗?我想转换日期时间。现在转换为字符串将允许我将其与另一个(字符串)日期进行比较?时间部分…..一个好的检查库是一个日期公共假日,例如:DateSystem.IsPublicHoliday(date,CountryCode.US);提示:字符串不是日期….(反之亦然)您不允许将字符串与字符串日期进行比较吗?我想转换日期时间。现在转换为字符串将允许我将其与另一个(字符串)日期进行比较?时间部分…..一个好的检查库是一个公共假日的日期,例如:DateSystem.IsPublicHoliday(date,CountryCode.US);您通常无法比较c#中的两个字符串,还是将这两个项目按原样进行比较只是最佳做法?@penmas您不是在比较两个字符串。您是在比较一个字符串和一个日期您可以比较两个字符串,但这是文字比较。“01/01/2016”和“2016-01-01”是相同的日期但不同的字符串。@penmas将字符串解析为日期对象first@deviantxdes为什么要分析文本字符串?首先创建一个
DateTime
。您通常无法比较c#中的两个字符串,还是将这两个项目按原样进行比较只是一种最佳做法?@penmas您不是在比较两个字符串s、 您正在比较一个字符串和一个日期您可以比较两个字符串,但这是文字比较。“01/01/2016”和“2016-01-01”是相同的日期,但不同的字符串。@penmas将字符串解析为日期对象first@deviantxdes为什么要解析文本字符串?首先创建一个
DateTime