用于在Python中批量转换Unix时间戳的函数

时间:2017-08-03 07:57:07

标签: python unix timestamp

有谁知道如何将unix时间戳转换为Python中的可读日期?我一直在用这个:

print(
datetime.datetime.fromtimestamp(
    int("1284101485")
).strftime('%Y-%m-%d %H:%M:%S')
)

但是当我必须转换很多时,它会变得很累。

感谢帮助。

3 个答案:

答案 0 :(得分:1)

print (datetime.datetime.utcfromtimestamp(1284101485))

答案 1 :(得分:1)

我认为围绕这​​个问题的一些混淆源于“征税”这个词,人们常常认为这意味着从计算时间的角度来看但我怀疑你还没有了解for loops

本质上,你需要捕获某种iterable的时间戳,假设你正在使用csv我建议你看一下csv python模块。然后你可以迭代迭代:

for timestamp in timestamp_collection:
    print(datetime.datetime.fromtimestamp(
            int("1284101485")
            ).strftime('%Y-%m-%d %H:%M:%S')
    )

答案 2 :(得分:0)

如果时间格式对您不是很重要,那么这样做:

>>> from time import ctime as convert
>>> convert(1284101485)
'Fri Sep 10 10:51:25 2010'

使用示例:

number = 1000

# Here we generate a list with given number of timestamps.
from random import randint

timestamps = []
for i in range(0, number):
    timestamps += [randint(0, 2147483647)]

# Here is actual example of massive conversation.
from time import ctime as convert

for i in range(0, number):
    print(str(i+1)+"\t"+str(timestamps[i])+"\t->\t"+convert(timestamps[i]))

示例生成一个带有时间戳的列表(即用型数据)。接下来我们转换时间戳(循环)并打印它们。代码处理(生成,转换和打印)200个时间戳比我闪烁快,1k时间戳小于0.5秒,100k小于12秒。在旧PC上测试。