Мне нужно сравнить введенную пользователем дату, "Dt" (в формате мм / дд / гггг), с датой в RavenDB - "ReleaseDate" (отметка времени типа "/ Date (1187668800000) /"). Для этого я использую следующий код, который почти выполняет свою работу, но мне не нужна небольшая помощь, чтобы завершить работу ...
Как сравнить две даты, чтобы я мог успешно выполнить запрос.
public ActionResult Calculation(DateTime? Dt)
{
var store = new DocumentStore { Url = "http://localhost:80" };
store.Initialize();
var CalcModel = new CalcViewModel();
using (var session = store.OpenSession())
{
//Converting user entered date dt in mm/dd/yyyy format to total
//milliseconds - So that later I can compare this value to RavenDB
//time stamp date format (older versions)
DateTime d1 = new DateTime(1970, 1, 1);
DateTime d2 = Dt.Value.ToUniversalTime();
TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
double tmillisecs = ts.TotalMilliseconds; //Not yet using this value.
CalcModel.MoviesByDate = session.Query<Movies>()
.Where(x => x.ReleaseDate.Ticks == ts.Ticks)
.Count();
// this is where I need to compare two dates - ts.ticks gives the
// required value of date (1187668800000) multiplied by 10000.
}
return View(CalcModel);
}
Прямо сейчас, когда я отлаживаю, я знаю, какое значение показывает ts.ticks ... и, как я уже говорил выше в комментариях к коду, требуемое значение умножается на 10000. Но я не имею понятия во время выполнения, что значение в x.ReleaseDate равно или x.ReleaseDate.Ticks есть .. я делаю это правильно. Спасибо за помощь.