Python 将历元时间格式转换为标准时间格式
我在将历元时间格式Python 将历元时间格式转换为标准时间格式,python,python-3.x,Python,Python 3.x,我在将历元时间格式1585542406929转换为2020-09-14小时分秒格式时遇到问题 我试着运行这个,但它给了我一个错误 from datetime import datetime DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S' datetime.utcfromtimestamp(df2.timestamp_ms).strftime('%Y-%m-%d %H:%M:%S') 错误:无法将序列转换为 我对这个datetime函数有什么不理解的?是否有更好
1585542406929
转换为2020-09-14小时分秒格式时遇到问题
我试着运行这个,但它给了我一个错误
from datetime import datetime
DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'
datetime.utcfromtimestamp(df2.timestamp_ms).strftime('%Y-%m-%d %H:%M:%S')
错误:无法将序列转换为
我对这个datetime函数有什么不理解的?是否有更好的功能,我应该使用
编辑:应该提到timestamp_ms是我的数据帧中名为df的列。感谢@chepner帮助我理解其格式 快速解决方案如下所示:
# make a new column with Unix time as @ForceBru mentioned
start_date = '1970-01-01'
df3['helper'] = pd.to_datetime(start_date)
# convert your column of JSON dates / numbers to days
df3['timestamp_ms'] = df3['timestamp_ms'].apply(lambda x: (((x/1000)/60)/60/24))
# add a day adder column
df3['time_added'] = pd.to_timedelta(df3['timestamp_ms'],'d')
# add the two columns together
df3['actual_time'] = df3['helper'] + df3['time_added']
请注意,您可能需要从实际时间戳中减去一些休息时间。例如,我在今天上午10:40发送了我的消息,当时是中部时间(美国中西部),但时间戳是在今天下午3:40。感谢@chepner帮助我理解这是一种格式 快速解决方案如下所示:
# make a new column with Unix time as @ForceBru mentioned
start_date = '1970-01-01'
df3['helper'] = pd.to_datetime(start_date)
# convert your column of JSON dates / numbers to days
df3['timestamp_ms'] = df3['timestamp_ms'].apply(lambda x: (((x/1000)/60)/60/24))
# add a day adder column
df3['time_added'] = pd.to_timedelta(df3['timestamp_ms'],'d')
# add the two columns together
df3['actual_time'] = df3['helper'] + df3['time_added']
请注意,您可能需要从实际时间戳中减去一些休息时间。例如,我在今天上午10:40(美国中西部时间)发送了我的消息,但时间戳将其设置为今天下午3:40。
datetime.utcfromtimestamp
使用一个整数值。我猜df2.timestamp\u ms
是一个系列(许多整数值),所以这个函数当然不会与它们一起工作什么是df2.timestamp\u ms
?JSON是如何在这里发挥作用的?刚刚编写了一个编辑,以确保知道timestamp_ms是我的数据帧df中的列。是否有一个函数可以重新格式化整列的时间戳?即使是整数,1585542406929也表示未来太远而无法表示的时间。首先将其除以1000,得到要转换的秒数,而不是毫秒数。(如果你这样做,你会得到一个从2020年3月30日开始的时间戳。如果它应该代表9月14日的时间戳,那么它的实际格式就不清楚了。)@bosois,datetime.utcfromtimestamp
使用一个整数值。我猜df2.timestamp\u ms
是一个系列(许多整数值),所以这个函数当然不会与它们一起工作什么是df2.timestamp\u ms
?JSON是如何在这里发挥作用的?刚刚编写了一个编辑,以确保知道timestamp_ms是我的数据帧df中的列。是否有一个函数可以重新格式化整列的时间戳?即使是整数,1585542406929也表示未来太远而无法表示的时间。首先将其除以1000,得到要转换的秒数,而不是毫秒数。(如果你这样做,你会得到一个从2020年3月30日开始的时间戳。如果它应该代表9月14日的时间戳,那么它的实际格式就不清楚了。)@bosois,