如何简单地比较如果当前日期是一个假期
本文关键字:一个 假期 当前日期 比较 何简单 简单 如果 | 更新日期: 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)