无法将日期字符串转换为unix时间戳

时间:2016-03-16 16:33:52

标签: python python-2.7 time unix-timestamp

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

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]转换为unix时间,这是一个看起来像"23/03/2015 00:00"(从csv读取)的日期字符串。

这就是代码部分的样子:

{"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 - 我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

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

import time as timelibrary

然后拨打timelibrary.mktime