Oui, c'est tout à fait possible de faire ce que tu demande.
Les base de données utilisent des format de date en interne pour faire ce type de tri.
Dans PHP, il est vivement conseiller d'utiliser systématiquement des timestamp (représentation de la date en nombre de seconde depuis le 1er janvier 1970 à 00h00)
Pour obtenir un timestamp exploitable, il existe de nombreuses fonctions de conversion.
Prend le temps de lire la doc pour la fonction date :
http://php.net/dateCitation :
string date ( string format [, int timestamp] )
date() retourne une date sous forme d'une chaîne, au format donné par la chaîne format. La date est fournie par le paramètre timestamp, sous la forme d'un timestamp. Par défaut, la date courante est utilisée.
Note : L'intervalle de validité d'un timestamp va généralement du Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT. (Ces dates correspondent aux valeurs minimales et maximales des entiers 32 bits non-signés). Sur les systèmes Windows, cette intervalle va du 01-01-1970 au 19-01-2038.
Note : Pour générer un timestamp à partir d'une représentation de date, vous pouvez utiliser la fonction strtotime(). De plus, certaines bases de données disposent de fonctions pour convertir leurs propres formats de date en timestamps (par exemple, MySQL et sa fonction UNIX_TIMESTAMP()).