【发布时间】:2021-07-24 06:15:48
【问题描述】:
我从 Twitter 上抓取数据,我的日期格式为 2020-01-07T22:24:20.000Z。我需要将其转换为日期时间格式。
【问题讨论】:
标签: python pandas datetime datetime-format
我从 Twitter 上抓取数据,我的日期格式为 2020-01-07T22:24:20.000Z。我需要将其转换为日期时间格式。
【问题讨论】:
标签: python pandas datetime datetime-format
您可以使用datetime 库
import datetime as dt
date = '2020-01-07T22:24:20.000Z'
formatted = dt.datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.000Z')
输出是 Out[25]: datetime.datetime(2020, 1, 7, 22, 24, 20) 请注意,在我的 strptime() 调用中插入的秒数和字符 T 和 Z 中的小数
【讨论】:
Z 会导致天真的日期时间(tzinfo 未设置为 UTC)——我认为这是错误的,因为 Z 表示 UTC 而 Python 将天真的日期时间视为 local时间,而不是UTC。
我们可以使用 pd.to_datetime 方法将字符串转换为 pandas datetime(Timestamp) 类型。
pd.to_datetime('2020-01-07T22:24:20.000Z')
输出
Timestamp('2020-01-07 22:24:20+0000', tz='UTC')
如果你有一列需要转换为日期时间,那么
输入
df = DataFrame({
'time':['2020-01-07T22:24:20.000Z', '2020-01-08T22:24:20.000Z']
})
time
0 2020-01-07T22:24:20.000Z
1 2020-01-08T22:24:20.000Z
转化率
df['time'] = pd.to_datetime(df.time)
df
输出
time
0 2020-01-07 22:24:20+00:00
1 2020-01-08 22:24:20+00:00
【讨论】:
你需要先解析日期
function parseTwitterDate(aDate)
{
return new Date(Date.parse(aDate.replace(/( \+)/, ' UTC$1')));
//sample: Wed Mar 13 09:06:07 +0000 2013
}
然后你可以把它转换成时间
console.log(parseTwitterDate('2020-01-07T22:24:20.000Z').getTime());
这应该返回时间戳,这段代码用于 javascript 希望对你有帮助
【讨论】: