Thank you for the links to the Date parsing code (parsedatetime, and python-dateutil)!
python-dateutil has awesome documentation. I can already see the functions that I'll use for that.
I'm pretty sure i'll use the code from parsedatetime as well.
Response to your questions:
Re: the spreadsheet. The spreadsheet only contains the recurring date information as posted on the street signs. Re: the date to compare the recurring data from -- that date will come from another data source: the satellite image date of capture. eg. "Landsat 8 date 18Mar2015.tiff"
The function will have two parameters: (satellite image date-stamp, street sweeping recurring schedule string). The parameters will come together in a storm drain feature class that I created to model the connection between the two variables. The storm drain data table will have a "water quality data field" and the "recurring street sweeping schedule" data field. (optional) for details on the ArcMap model see: report in pdf.
So far, my pseudocode looks like this:
#import arcpy
#import python date parsing libraries
#setup the workspace environment -
#env 'storm drain inlet' feature class (contains fields: "water quality (from satellite image)" )
#Enter code
#set cursor "storm drain inlet"
#parse date-stamp of satellite image from satellite image file name (this will be an exact date on the calendar)
#create a new field to collect "x days since street was swept" + "satellite image date-stamp"
#parse recurring schedule text string
#calculate latest date in which the street sweeping was done (new project function)
#calculate the delta = date the satellite image was captured (water quality date-stamp) - last date that the street was swept (from street sweeping schedule spreadsheet)