[英]Python Convert UTC Datetime in string to unix time
我在 dataframe df 中有一个名为“created_at”的列,它的值就像 UTC 中的“2/3/15 2:00”。 现在我想将它转换为 unix 时间,我该怎么做?
我试过这样的脚本:
time.mktime(datetime.datetime.strptime(df['created_at'], "%m/%d/%Y, %H:%MM").timetuple())
它返回错误我猜棘手的部分是年份是“15”而不是“2015”
有什么有效的方法可以处理它吗?
谢谢!
%Y
是 4 位数的年份。
由于您有 2 位数的年份(假设它是 20##),您可以改用%y
说明符(注意小写的 y)。
您应该使用小写的%y
(没有世纪的年份)而不是大写的%Y
(有世纪的年份)
既然您提到您正在使用 pandas DataFrame,您可以简化为使用
import pandas as pd
import numpy as np
df = pd.DataFrame({'times': ['2/3/15 2:00']})
# to datetime, format is inferred correctly
df['datetime'] = pd.to_datetime(df['times'])
# df['datetime']
# 0 2015-02-03 02:00:00
# Name: datetime, dtype: datetime64[ns]
# to Unix time / seconds since 1970-1-1 Z
# .astype(np.int64) on datetime Series gives you nanoseconds, so divide by 1e9 to get seconds
df['unix'] = df['datetime'].astype(np.int64) / 1e9
# df['unix']
# 0 1.422929e+09
# Name: unix, dtype: float64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.