19位时间戳转换

jcgoette:

我有一组19位数的时间戳,stamp我无法弄清楚如何转换为日期时间格式。

  • 为了进行比较,stamp对应于dt
  • 在下面的代码中,dt已转换为datetime和unix时间戳。

我读过类似的SO帖子,这不仅仅是除以1,000,000,000的问题。此外,它不会似乎是像一个双重的问题如何一个很长的时间戳转换成日期时间(19位)(9876432101234567890)

例子:

import pandas as pd

data = {'stamp': [1264604283246383104, 1266445459956158467, 1269744490329358337, 1270363071710715905],
        'dt': ['May 24 2020 13:08 EST', 'May 29 2020 15:05 EST', 'Jun 7 2020 17:34 EST', 'Jun 9 2020 10:32 EST']}

df = pd.DataFrame(data)

# move timezone to a separate column
df['tz'] = df['dt'].str[-4:]
df['dt'] = df['dt'].str.replace(' EST', '')

# convert dt to UTC datetime
df['datetime'] = pd.to_datetime(df['dt']).dt.tz_localize(tz='US/Eastern').dt.tz_convert('UTC')

# convert datetime to unix datetime
df['datetime_unix'] = df['datetime'].astype(int)

                 stamp                 dt    tz                  datetime        datetime_unix
0  1264604283246383104  May 24 2020 13:08   EST 2020-05-24 17:08:00+00:00  1590340080000000000
1  1266445459956158467  May 29 2020 15:05   EST 2020-05-29 19:05:00+00:00  1590779100000000000
2  1269744490329358337   Jun 7 2020 17:34   EST 2020-06-07 21:34:00+00:00  1591565640000000000
3  1270363071710715905   Jun 9 2020 10:32   EST 2020-06-09 14:32:00+00:00  1591713120000000000

关于这是什么以及如何通过Python转换的思考?

约瑟夫·西布尔-恢复莫妮卡:

该时间戳格式是一致的,但是没有意义。通过这样做(1270363071710715905 - 1264604283246383104)/(Jun 9 2020 10:32 EST - May 24 2020 13:08 EST),我们确定您的时间戳以大约4.2GHz的速度滴答。到那时Jun 9 2020 10:32 EST - 1270363071710715905/4.2GHz,我们确定您的时间戳记的时代是2010年11月上旬。我不知道具有这些属性的任何常见或众所周知的时间戳记,但是该信息足以使您能够将任意时间与之进行往返。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章