BUG: Interpolating over DatetimeIndex is inconsistent (and wrong in some cases)
- [x] I have checked that this issue has not already been reported.

- [x] I have confirmed this bug exists on the latest version of pandas. (1.0.3)

- [ ] (optional) I have confirmed this bug exists on the master branch of pandas.

---

#### Code Sample, a copy-pastable example

```python
In [105]: index2000 = pd.DatetimeIndex(["2000-01-01 00:00:00.000000", "2000-01-01 00:00:00.000001", "2000-01-01 00:00:00.000003"])

In [106]: pd.Series(index=index2000, data=[0, None, 1]).interpolate(method="values")
Out[106]:
2000-01-01 00:00:00.000000    0.000000
2000-01-01 00:00:00.000001    0.347826
2000-01-01 00:00:00.000003    1.000000
dtype: float64

In [107]: index2001 = pd.DatetimeIndex(["2001-01-01 00:00:00.000000", "2001-01-01 00:00:00.000001", "2001-01-01 00:00:00.000003"])

In [108]: pd.Series(index=index2001, data=[0, None, 1]).interpolate(method="values")
Out[108]:
2001-01-01 00:00:00.000000    0.000000
2001-01-01 00:00:00.000001    0.347826
2001-01-01 00:00:00.000003    1.000000
dtype: float64

In [109]: index2020 = pd.DatetimeIndex(["2020-01-01 00:00:00.000000", "2020-01-01 00:00:00.000001", "2020-01-01 00:00:00.000003"])

In [110]: pd.Series(index=index2020, data=[0, None, 1]).interpolate(method="values")
Out[110]:
2020-01-01 00:00:00.000000    0.000000
2020-01-01 00:00:00.000001    0.333333
2020-01-01 00:00:00.000003    1.000000
```

#### Problem description

[this should explain **why** the current behaviour is a problem and why the expected output is a better solution]
Interpolating over datetime index doesn't work correctly - or there's something really weird. In the above examples, I only changed the year. I have a value 0 at microsecond 0, value 1 at microsecond 3. Then, interpolating to microsecond 1 should give a value 1/3. But the value appears to be something different for some years. Why?

#### Expected Output

I would have expected 0.333333 interpolated value in all cases, not just for year 2020.

```python
In [105]: index2000 = pd.DatetimeIndex(["2000-01-01 00:00:00.000000", "2000-01-01 00:00:00.000001", "2000-01-01 00:00:00.000003"])

In [106]: pd.Series(index=index2000, data=[0, None, 1]).interpolate(method="values")
Out[106]:
2000-01-01 00:00:00.000000    0.000000
2000-01-01 00:00:00.000001    0.333333
2000-01-01 00:00:00.000003    1.000000
dtype: float64

In [107]: index2001 = pd.DatetimeIndex(["2001-01-01 00:00:00.000000", "2001-01-01 00:00:00.000001", "2001-01-01 00:00:00.000003"])

In [108]: pd.Series(index=index2001, data=[0, None, 1]).interpolate(method="values")
Out[108]:
2001-01-01 00:00:00.000000    0.000000
2001-01-01 00:00:00.000001    0.333333
2001-01-01 00:00:00.000003    1.000000
dtype: float64

In [109]: index2020 = pd.DatetimeIndex(["2020-01-01 00:00:00.000000", "2020-01-01 00:00:00.000001", "2020-01-01 00:00:00.000003"])

In [110]: pd.Series(index=index2020, data=[0, None, 1]).interpolate(method="values")
Out[110]:
2020-01-01 00:00:00.000000    0.000000
2020-01-01 00:00:00.000001    0.333333
2020-01-01 00:00:00.000003    1.000000
```


#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.7.3.final.0
python-bits: 64
OS: Linux
OS-release: 5.4.41
machine: x86_64
processor:
byteorder: little
LC_ALL: None
LANG: C.UTF-8
LOCALE: en_US.UTF-8

pandas: 0.24.2
pytest: 4.2.1
pip: 19.0.3
setuptools: 41.0.0
Cython: None
numpy: 1.16.3
scipy: 1.2.1
pyarrow: None
xarray: None
IPython: 7.2.0
sphinx: 1.8.3
patsy: None
dateutil: 2.8.0
pytz: 2019.1
blosc: None
bottleneck: 1.2.1
tables: 3.5.2
numexpr: 2.6.9
feather: None
matplotlib: 3.0.3
openpyxl: 2.6.2
xlrd: 1.2.0
xlwt: 1.3.0
xlsxwriter: None
lxml.etree: 4.3.3
bs4: 4.7.1
html5lib: 1.0.1
sqlalchemy: 1.2.14
pymysql: None
psycopg2: 2.7.7 (dt dec pq3 ext lo64)
jinja2: 2.10.1
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None
</details>
