【问题标题】:Having trouble converting a date string to a unix timestamp无法将日期字符串转换为 unix 时间戳
【发布时间】:2016-03-16 16:33:52
【问题描述】:

所以我有一个使用以下导入的脚本:

import sys
import os.path
import requests
import json
import csv
import glob2
import shutil
from time import sleep
from time import gmtime, strftime
import time
from datetime import datetime

我正在尝试将 row[15] 这是一个日期字符串,类似于 "23/03/2015 00:00"(从 csv 读取)转换为 unix 时间。

这就是那部分代码的样子:

{"name":"referral_date", "value": time.mktime(datetime.strptime(row[15], "%d/%m/%Y %H:%S").timetuple()) }

每次我尝试它都会返回:

AttributeError: 'str' object has no attribute 'mktime'

然而,在一个单独的测试文件中,我尝试了以下方法:

import time
from datetime import datetime

mylist = ["23/03/2015 00:00"]
test = time.mktime(datetime.strptime(mylist[0], "%d/%m/%Y %H:%S").timetuple())
print(test)

正如您所料,结果为1427031000.0 - 我做错了什么?

【问题讨论】:

    标签: python python-2.7 time unix-timestamp


    【解决方案1】:

    查看您的代码:您可能在某处声明了一个名为time 的变量,它是一个字符串。它试图在该变量上调用mktime,这就是您的错误引用str 对象的原因。

    解决此问题的最简单方法是将time 变量的名称更改为其他名称。如果您想在不更改该变量名称的情况下解决问题,您可以使用不同的名称导入 time,如下所示:

    import time as timelibrary
    

    然后拨打timelibrary.mktime。

    【讨论】:

    • 感谢@OrangeFlash81 - 成功了。现在我需要弄清楚如何将时间戳设置为午夜......
    猜你喜欢
    • 2011-03-16
    • 1970-01-01
    • 2019-07-30
    • 2012-06-23
    • 2011-09-23
    • 1970-01-01
    • 2022-01-21
    • 2012-09-01
    相关资源
    最近更新 更多