将日期和时间转换为时间戳

时间:2015-08-28 06:39:25

标签: python timestamp

我有一个文本文件,想在python中打开并获取日期和时间(在标题中)然后将其更改为秒(时间戳)。但结果与在线网站不一样。 代码:

with open('sample for north - Kopie.txt', "r") as f:
    content = f.readlines()

    for x in content :
        day = float (content [0][:2])
        month = float (content [0][3:5])
        year = float (content [0][6:10])
        hour = float (content [0][10:13])
        minn = float (content [0][14:16])
        second = float (content [0][17:19])
        time = float ((((year-1970)*31556926)+((month-1)*2629743)+((day-1)*86400)+((hour)*3600)+((minn)*60)+second))
13.07.2015 09:38:17 程序的结果是 1436911625 但网站的结果是 1436780297

2 个答案:

答案 0 :(得分:2)

您可以使用时间模块:

import time

>>>print(time.mktime(time.strptime("13.07.2015 09:38:17", "%d.%m.%Y %H:%M:%S")))
1436769497.0

答案 1 :(得分:1)

分为两部分:

  1. 在Python中将时间字符串转换为时间对象。您可以使用.strptime()

    from datetime import datetime
    
    dt = datetime.strptime("13.07.2015 09:38:17", "%d.%m.%Y %H:%M:%S")
    # -> datetime.datetime(2015, 7, 13, 9, 38, 17)
    
  2. 将时间对象转换为(POSIX)时间戳(Unix时间)。 1436780297结果表明您的输入时间是UTC,因此您可以使用{{1}获取时间戳:

    calendar.timegm()
  3. 请参阅Converting datetime.date to UTC timestamp in Python