Fixed date matching algorithm

 - Made a rookie mistake and checked year, then month, then day. This of
   course failed across month and year boundaries. Now build a full
   representation of the date and check that.