Fix date parsing in residual absolute spreadsheet factories
Dates and times in the Geomagnetism Program's residual absolute measurement spreadsheets are stored as integers (for example, 2020-02-02 is the integer 20200202, and 12:34:56 is the integer 123456). The spreadsheet parsing factories (SpreadsheetSummaryFactory.py and SpreadsheetAbsolutesFactory.py) convert these integers to strings, then pass them to Obspy's UTCDateTime() to create appropriate date/time objects.
In Excel, special formatting is applied to cells with these date/time integers so that (for example) 01:23:45 appears as 012345. This special formatting does not transfer to Python (via openpyxl library). So, UTCDateTime() doesn't know what to do with the integer 12345. Dates are less problematic because there are no measurements to process from before the year 1000, so no dates start with a 0.
Interestingly, this issue was addressed in SpreadsheetSummaryFactory.py over a year ago, but not in SpreadsheetAbsolutesFactory.py. The integers were converted to strings using Python's own string formatting functionality. There are two issues that need to be addressed here:
- the fix used in SpreadsheetSummaryFactory.py should be reviewed and adapted to SpreadsheetAbsolutesFactory.py
- the fact that SpreadsheetAbsolutesFactory.py has both 4-element and 6-element times needs to be addressed