You have misunderstood. I'll try to be clearer. The epoch is indeed arbitrary. However, ```toordinal()``` does **not** give the number of days since the epoch. It is 1 + the number of days since the epoch. It's not confusion, it's an error. Excuse my bluntness, but I believe your code should be:
```python
start = start.toordinal() - 1
```
As for ```datetime``` objects. You know that gets my vote. If only we can sort out those pesky calendars.