Ich würde es so machen:
Das Datum wird per
strftime("%Y-%m-%d");
erstellt und in ein Feld des date-typs gespeichert.
So kannst du es dann im Archiv aus der DB holen:
Beim Anzeigen der Einträge machst du erst wieder einen aktuellen Timestamp:
$timestamp = strftime("%Y-%m-%d");
SELECT * FROM tabelle WHERE MONTH(datumsfeld) < MONTH('$timestamp') || YEAR(datumsfeld) < YEAR('$timestamp')