Leap year in our calendar is pretty simple—we add a day to the end of February.
The medieval calendar is a little different. The Roman method is to count down to days. Thus, an add at the end of the February functionally means an increase in the middle of February in the count-down to March’s kalends.
Where this makes things weird is that, moving to the kalendar, feasts are attached to days before the kalends. Simple enough when you’re using a medieval kalendar: the feast of St Matthias is always on vi. Kalends Martii. The issue is when you’re looking at a modern calendar in conjunction.
In regular years, the Feast of St Matthias is on February 24; in leap years, it’s on February 25th. Assuming this holds true for other feasts, when placing medieval feasts everything from the Ides must shift, thus after the 13th. So, in leap years, the feast of St Valentine is on the 15th etc.
Note to self: don’t even try to use this one as an excuse…
The Real Story: While this makes for a fun excuse, it’s not technically correct… The leap day was actually inserted after the 23rd of February and thus there were two “six days before the kalends of March.” This, it’s thought, is where we get the English term bissextile (from bis sextum Kalendas Martias). So the feast of Matthias real does move in leap years, Valentine’s does not.