例如,今天 20:30 会有一些活动。那天早些时候我们卖了票。门票只能在当天退还。
今天有人想退票,不管是在活动时间之前还是之后,但应该在那天。
如何在 C# 中指定某个 DateTime 值是否在同一天?
就像是:
if (ticket.Date == now.Date) // For some value of now
也许:
if (ticket.Date == DateTime.Today)
? 您需要考虑时区是否也会给您带来问题......您需要注意DateTime
有一些明显的歧义- 很容易避免考虑您真正应该注意的事情,特别是在哪些方面您感兴趣的时区。
编辑:如评论中所述,您确实可以使用Noda Time,此时您想要比较LocalDate
值 - 同样,您仍然需要考虑哪个时区是相关的。
DateTime date1 = new DateTime(2013, 6, 27, 7, 47, 0);
// Get date-only portion of date, without its time.
DateTime dateOnly = date1.Date;
if (Date1.Date == Date2.Date)
{ //lucky Day}
else
{ // loser
}
但是,如果您构建一个新工具。使用DateTimeOffSet
查看现在和今天的属性
if(yourEventDate == DateTime.Today)
那行得通吗?
你可以做到这一点(如果在某些情况下需要添加事件检查的时间)。
if ((DateVariable.Date == DateTime.Today) && (DateTime.Now.TimeOfDay < new TimeSpan(20,30,0)))
{
//your work here....
}
您必须比较每个DateTime
.
例如:
DateTime date1 = new DateTime(2013, 01, 01, 01, 00, 00); // Jan 1th, 2013 - 01:00 AM
DateTime date2 = new DateTime(2013, 01, 01, 02, 00, 00); // Jan 1th, 2013 - 02:00 AM
if (date1.Day == date2.Day && date1.Month == date2.Month && date1.Year == date2.Year)
{
// Your code here.
}