would it not be neater to do this the other way around?

You should define two dictionaries, one with the operational times and one with the data formats where the keys are integer numbers

i.e.
```python
goes_operational = {
    ...
    ...
    8:TimeRange('1995-01-01','2003-06-16'),
    ...
    ...
}
goes_dataformat = {
    ...
    ...
    8:'xrs_1m',
    ...
}
```
then you can make this logic simpler and lacking in str maniputation
i.e.

```Python
for k, v in goes_operational.items():
    if (start > v.start() and start < v.end()) and (end > v.start() and end < v.end()):
        return k, goes_dataformat[k]
```