例如,今天20:30会有一些活动。那天早些时候卖票了。门票只能在同一天退回。
今天有人想要退票,无论是在活动时间之前还是之后都没关系,但应该是在那一天。
如何在C#中指定某个DateTime值是否在同一天?
答案 0 :(得分:7)
类似的东西:
if (ticket.Date == now.Date) // For some value of now
或者也许:
if (ticket.Date == DateTime.Today)
?你需要考虑时区是否也会导致你出现问题......你需要注意DateTime
has some significant ambiguities - 很容易避免考虑你应该注意的事情,特别是在你感兴趣的时区。
编辑:正如评论中所述,您确实可以使用Noda Time,此时您想要比较LocalDate
值 - 您还需要考虑哪个时区是相关的。< / p>
答案 1 :(得分:2)
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
查看“现在和今天”属性
答案 2 :(得分:1)
if(yourEventDate == DateTime.Today)
那会有用吗?
答案 3 :(得分:1)
你可以这样做(如果需要的话,可以添加事件检查的时间)。
if ((DateVariable.Date == DateTime.Today) && (DateTime.Now.TimeOfDay < new TimeSpan(20,30,0)))
{
//your work here....
}
答案 4 :(得分:-1)
您必须比较每个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.
}