В чем ошибка в проверке дат?
Моя задача: вытащить из базы даты по условию. Делаю я следующим образом:
using var session = documentStore.OpenSession();
var utcQuery1 = session.Query<MqttDelivery<TerritoryEvent>>()
.Where( _ => _.Header.Timestamp <= DateTimeOffsetToUtc );
var utcQuery2 = session.Query<MqttDelivery<TerritoryEvent>>()
.Where( _ => _.Header.Timestamp >= DateTimeOffsetToUtc );
Затем я вывожу все это в консоль и получаю следующие данные:
LIST OF TIMESTAMPS
QUERY: _ => _.Header.Timestamp <= DateTimeOffsetToUtc
22.09.2022 0:00:00 +03:00 <= 22.09.2022 3:00:00 +00:00
22.09.2022 1:00:00 +03:00 <= 22.09.2022 3:00:00 +00:00
22.09.2022 2:00:00 +03:00 <= 22.09.2022 3:00:00 +00:00
LIST OF TIMESTAMPS
QUERY: _ => _.Header.Timestamp >= DateTimeOffsetToUtc
22.09.2022 3:00:00 +03:00 >= 22.09.2022 3:00:00 +00:00
22.09.2022 4:00:00 +03:00 >= 22.09.2022 3:00:00 +00:00
22.09.2022 5:00:00 +03:00 >= 22.09.2022 3:00:00 +00:00
Т.е мы видим, что запросы возвращают такие даты. Окей, теперь хочется проверить, верные ли данные вернул запрос. Поэтому я просто делаю проверку:
var date1 = DateTimeOffset.Parse("22/09/2022 0:00:00 +03:00");
var date2 = DateTimeOffset.Parse("22/09/2022 3:00:00 +00:00");
var equals1 = date1 <= date2;
Console.WriteLine(equals1);
var date3 = DateTimeOffset.Parse("22/09/2022 3:00:00 +03:00");
var equals2 = date3 >= date2;
Console.WriteLine(equals2);
Ожидаю, что два раза получу true, но, к сожалению, equals2 - false. Обратите внимание, что я проверяю даты, которые были возвращены запросом из базы. Как так происходит?