繁体   English   中英

Python 将字符串中的 UTC 日期时间转换为 unix 时间

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM