将Unix时间戳列转换为UTC格式

问题描述 投票:0回答:2

我必须使用python脚本将Unix时间戳的col5转换为UTC格式(YYYY-MM-DD hh:mm:ss),并在以下数据中为UTC格式创建新的col6。

Data:

col1 col2 col3 col4 col5

0 0 0 1 1231006505 1 1 0 1 1231469665 2 2 0 1 1231469744 3 3 0 1 1231470173 4 4 0 1 1231470988 5 5 0 1 1231471428 6 6 0 1 1231471789 7 7 0 1 1231472369 8 8 0 1 1231472743 9 9 0 1 1231473279 10 10 0 1 1231473952 11 11 0 1 1231474360 12 12 0 1 1231474888 13 13 0 1 1231475020 14 14 0 1 1231475589 15 15 0 1 1231562746 16 16 0 1 1231562758 17 17 0 1 1231563791 18 18 0 1 1231564334 19 19 0 1 1231564974 20 20 0 1 1231565995 21 21 0 1 1231566553 22 22 0 1 1231567467

我是python的新手。对此的任何帮助都将受到高度赞赏。

提前致谢 。

问候

Ribjh

python unix-timestamp
2个回答
1
投票

您可以使用datetime模块将数据格式化为您想要的任何日期格式。

from datetime import datetime

unix_timestamp = float("1231006505")
utc_timestamp = datetime.utcfromtimestamp(unix_timestamp)
print(utc_timestamp.strftime("%Y-%m-%d %H:%M:%S"))

您可以查看strftime()here的所有不同格式选项

祝好运!


0
投票

用以下代码解决:

import csv
from datetime import datetime
d={}
fin = open("unix.txt","r")
fout = open("unixtoutc.txt",'w')
foutWriter=csv.writer(fout)
for line in fin:
    line = line.rstrip()
    f = line.split("\t")
    k=f[0]
    unix_timestamp = float(f[0])
    utc_timestamp = datetime.utcfromtimestamp(unix_timestamp)
    df=(utc_timestamp.strftime("%Y-%m-%d %H:%M:%S"))
    print(df)
    foutWriter.writerow([f[0]+"\t"+df])
fin.close()
fout.close()
© www.soinside.com 2019 - 2024. All rights reserved.