如何简单地比较如果当前日期是一个假期

本文关键字:一个 假期 当前日期 比较 何简单 简单 如果 | 更新日期: 2023-09-27 18:09:21

我正在尝试使用DateTime比较当前日期。现在,使用一个硬编码的选定假日列表来测试当前日期是否等于假日。我刚刚开始使用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>

如何简单地比较如果当前日期是一个假期

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

DateTime newYear = new DateTime(2016,1,1);
if (newYear == DateTime.Today)

我会使用DateTime.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结构,因为它比字符串传达更多的含义。当您想要执行更复杂的操作时,您还可以在排序、过滤、操作和显示数据方面获得更大的灵活性。例如:

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!";
}

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

if (DateTime.Parse(newYear)== DateTime.Now.Date)
相关文章: