title: UNIX conversion to datetime either mismatch or returns 1970-01-01
body: <p>I'm trying to convert a Pandas DataFrame column from UNIX to Datetime, but I either get a mismatch error or the new dates are all 1970-01-01.</p>
  <p>Here is tail sample of the list:</p>
  <blockquote>
  <p>ds             y</p>
  <p>86  1625616000000  34149.989815</p>
  <p>87  1625702400000  33932.254638</p>
  <p>88  1625788800000  32933.578199</p>
  <p>89  1625875200000  33971.297750</p>
  <p>90  1625884385000  33868.766626</p>
  </blockquote>
  <p>When I look at how my UNIX looks like in datetime:</p>
  <pre><code>mydatetime = datetime.fromtimestamp(1618185600000 // 1000, tz=tzutc())
  print('mydatetime',mydatetime)
  </code></pre>
  <p>I get:</p>
  <blockquote>
  <p>mydatetime 2021-04-12 00:00:00+00:00</p>
  </blockquote>
  <p>So when I use the conversion function:</p>
  <pre><code>df2 = pd.to_datetime(df1['ds'].astype(str), format='%Y-%m-%d %H:%M:%S+%f:%Z')
  </code></pre>
  <p>I get:</p>
  <blockquote>
  <p>ValueError: time data '1618185600000' does not match format '%Y-%m-%d
  %H:%M:%S+%f:%Z' (match)</p>
  </blockquote>
  <p>But, when I use the lazy road:</p>
  <pre><code>df2 = pd.to_datetime(df1['ds'], unit='ns')
  </code></pre>
  <p>The results are:</p>
  <blockquote>
  <p>86 1970-01-01 00:27:05.616000</p>
  <p>87 1970-01-01 00:27:05.702400</p>
  <p>88 1970-01-01 00:27:05.788800</p>
  <p>89 1970-01-01 00:27:05.875200</p>
  <p>90 1970-01-01 00:27:05.886197</p>
  <p>Name: ds, type: datetime64[ns]</p>
  </blockquote>