В чем ошибка в проверке дат?

Моя задача: вытащить из базы даты по условию. Делаю я следующим образом:

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. Обратите внимание, что я проверяю даты, которые были возвращены запросом из базы. Как так происходит?


Ответы (0 шт):