title: Joining on datetime64[ns, UTC] fails using pandas.join
body: <p>I'm trying to join two <code>pandas.DataFrames</code> on a <code>datetime64[ns, UTC]</code> field and it's failing with a <code>ValueError</code> (described below) that is not intuitive to me. Consider the example:</p>
  
  <pre><code>&gt;&gt;&gt; import pandas as pd
  &gt;&gt;&gt; import numpy as np
  &gt;&gt;&gt; 
  &gt;&gt;&gt; s_1 = pd.Series(np.random.randn(2,), index=['1981-12-10', '1984-09-14'])
  &gt;&gt;&gt; s_1.index = pd.to_datetime(s_1.index, utc=True)
  &gt;&gt;&gt; df_1 = pd.DataFrame(s_1, columns=['s_1']).assign(date=s_1.index)
  &gt;&gt;&gt; df_1.dtypes
  s_1                 float64
  date    datetime64[ns, UTC]
  dtype: object
  &gt;&gt;&gt; 
  &gt;&gt;&gt; d = {
  ...    'v': np.random.randn(2,),
  ...    'close': ['1981-12-10', '1984-09-14']
  &gt;&gt;&gt; }
  &gt;&gt;&gt; df_2 = pd.DataFrame(data=d)
  &gt;&gt;&gt; df_2.close = pd.to_datetime(df_2.close, utc=True)
  &gt;&gt;&gt; df_2['date'] = df_2.close.apply(lambda x: x.replace(hour=0, minute=0, second=0))
  &gt;&gt;&gt; df_2.dtypes
  v                    float64
  close    datetime64[ns, UTC]
  date     datetime64[ns, UTC]
  dtype: object
  &gt;&gt;&gt; 
  &gt;&gt;&gt; df_1.join(df_2, on='date', lsuffix='_')
  [...stacktrace ommitted for brevity...]
  ValueError: You are trying to merge on datetime64[ns, UTC] and int64 columns. If you wish to proceed you should use pd.concat
  </code></pre>
  
  <p>Clearly the <code>date</code> field is not an <code>int64</code>. The <a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.join.html" rel="noreferrer">documentation for join</a> says "Index should be similar to one of the columns in this one." so I set the index for <code>df_2</code> to the <code>date</code> field and tried again:</p>
  
  <pre><code>&gt;&gt;&gt; df_2.set_index('date', drop=False, inplace=True)
  &gt;&gt;&gt; df_1.dtypes
  s_1                 float64
  date    datetime64[ns, UTC]
  dtype: object
  &gt;&gt;&gt; df_1.index
  DatetimeIndex(['1981-12-10', '1984-09-14'], dtype='datetime64[ns, UTC]', freq=None)
  &gt;&gt;&gt; 
  &gt;&gt;&gt; df_2.dtypes
  v                    float64
  close    datetime64[ns, UTC]
  date     datetime64[ns, UTC]
  dtype: object
  &gt;&gt;&gt; df_2.index
  DatetimeIndex(['1981-12-10', '1984-09-14'], dtype='datetime64[ns, UTC]', name='date', freq=None)
  &gt;&gt;&gt; 
  &gt;&gt;&gt; df_1.join(df_2, on='date', lsuffix='_')
  [...stacktrace ommitted for brevity...]
  ValueError: You are trying to merge on datetime64[ns, UTC] and datetime64[ns] columns. If you wish to proceed you should use pd.concat
  </code></pre>
  
  <p>Before you suggest I follow the friendly instructions and use <code>pd.concat</code>, I cannot: this is not my code ;)</p>