2013-03-15 1 views
8

В time пакете мы имеем тип ZonedTime, который представляет собой LocalTime произведение localDay :: Day и localTimeOfDay :: TimeOfDay. LocalTime имеет экземпляры для Eq и Ord, но ZonedTime нет. Мне кажется, что ZonedTime s следовало бы сравнить с абсолютной системой отсчета, по крайней мере, до LocalTime s.Почему не «ZonedTime» есть «уравнение» или «экземпляр Ord»

Почему ZonedTime не имеет Eq и Ord экземпляров?

Стоит отметить, что time переписывают thyme на самом деле имеют Eq и Ord экземпляров, хотя я предпочел бы не использовать нестандартные типы времени, если не требуется.

ответ

5

Я могу только предположить, что причина в том, что не совсем понятно, как следует сравнивать времена, имеющие разные зоны, и их достаточно легко преобразовать в UTCTime с использованием zonedTimeToUTC и сравнить результаты, если это то, что предназначено.

+0

Я полагаю, что я просто принял наблюдательное равенство под 'zonedTimeToUTC', да. Я также заметил, что 'тимьян' просто использует внутреннее равенство, и как' time', так и 'thyme' определяют внутреннее равенство над' TimeZone', чтобы иметь как точно одинаковые смещения, так и имена. –

+0

Неопределенность здесь - довольно хороший ответ. Благодарю. –

0

Возможно, это связано с летней экономией? Например, иногда британское время = французское время, но в другое время года есть разница в 1 час ...