Sort by a custom date field
I do know nothing about WordPress, so I will not be able to answer if the loop is a proper method for using order by. 

Converting and comparing time

The DateTime class has great utilities for exactly this kind of thing. You have DateTime::createFromFormat to use your custom format, DateTime-&gt;format for formatting, and DateTime-&gt;sub and DateTime-&gt;diff for comparing.

Timestamp

For very simple comparing like "is this date bigger than that date," you could use timestamps (AKA time()) and compare them with &lt;&gt; as a timestamp is just a big number (seconds from 1970 until now). This will be more reliable than comparing date strings.