Skip to main content

Cookbook

qddate covers a small, focused surface. This page is a task-oriented index: find the row that sounds like you, then follow the linked sections. If you are completely new, do the one-minute quickstart first.

You are a…You want to…Start with
Web scraperPull publication dates out of HTML bylines with trailing noiseDateParser().parse(text)
Data engineerParse millions of strings from a crawl with a language subsetDateParser(languages=[...])
News aggregatorReconstruct RSS-like feeds from sites that never offered oneparse + left-aligned matching
Application developerNormalize mixed numeric and month-name dates in PythonBasic usage
ContributorAdd a language or a rare formatpattern tables + tests

Common recipes

Date plus trailing HTML text

parser.parse("12.03.1999 Hello people")
# datetime.datetime(1999, 3, 12, 0, 0)

Date with time of day

parser.parse("16 May 2009 14:10")
parser.parse("01.03.2009 14:53:12")
parser.parse("9 Июля 2015 [11:23]")

English weekday + abbreviated month

parser.parse("Thursday, Jun 25, 2026")
parser.parse("Monday, Jun 22, 2026 - 13:46")

Spanish article dates

parser.parse("03 de Julio, 2026")
parser.parse("30 de junio, 2026")

Dates without a year

parser.match("01.12", noyear=True)
# year is substituted from the current clock

Pass noyear=True only when you intentionally want day-month strings. It can increase false positives on short numeric fragments.

Detailed walkthroughs