См. Мои комментарии в вашем вопросе относительно того, отслеживаете ли вы работу на одиночной рабочей станции / многопользовательском и т. Д. - это будет определять, где вы будете хранить дату (в базе данных, в области действия компьютера, на уровне пользователя).область действия и т. д.).
Теперь, что касается того, что вы храните, если вы многопользовательское приложение (или даже мобильное, как на телефоне или ноутбуке), не забудьте рассмотреть часовые пояса.В связи с этим, не забудьте рассмотреть летнее время.(эти изменения во времени могут заставить вас думать, что день прошел, а когда нет, или наоборот).
Я бы порекомендовал вам всегда хранить время в UTC и всегда сравнивать в UTC:
// save the start time:
var startTime = DateTime.UtcNow;
(save the start time)
...
// comparing the times:
// also, are you worried about doing the check once per 24 hours, or do you want to go by calendar date?
// you already have code that does a once per 24hr check, so I will show code that goes by calendar days
if(startTime.Date < DateTime.UtcNow.Date)
// hasn't run today
else
// has run today