Действительно ли это должно работать следующим образом?
Если строки являются действительными датами, это нормально, но не специально, потому что они являются датами.
Строки сравниваются в лексикографическом (произвольном, алфавитном) порядке слева направо.Поскольку «0» меньше, чем «1», а «1» меньше, чем «2» и т. Д., И поскольку эти строки сначала имеют наиболее значимую часть даты (годы) и наименее значимая часть (дни) последняя, лексикографический порядок также бывает датой.
Если строки были в европейском формате ДД / ММ / ГГГГ или в формате США ММ / ДД / ГГГГ,это не сработает, потому что у них нет самых частей даты в порядке от наиболее значимого до наименее значимого.
Причина "2018-06-20" > "2018-05-40"
верна, но сравнивает их как даты, используя разумную интерпретацию того, что этовторой должен означать (дата 2018-06-09), будет ложным то, что они снова сравниваются как строки , символ за символом.Нормализация не производится, никакой логики для конкретной даты вообще.