我正在尝试做一些数学时间,但我不确定如何做到这一点。我想减去一个特定的日期&从当前格林威治标准时间开始的时间(例如:2017-5-20 15:54:00)(例如:2017-12-22 20:06:27)。
关于我如何做到这一点的任何想法?
# import data into Python
with open(output_file2) as f:
reader = csv.reader(f, delimiter="\t")
d = list(reader)
# here, objects [0][4] and [0][5] would be, for instance: 15:54:00 and 2017-5-20
# , respectively
# UTC Time
os.system("date -u \"+%H:%M:%S %Y-%m-%d\" | gawk '{print \" UTC Date & Time: \", $1, \"\", $2}'")
# eg.: 20:06:27 2017-12-22
任何想法都会很棒!谢谢=)
更新:到目前为止我已尝试过:
UTC_time = datetime.datetime.utcnow().strftime("%H:%M:%S %Y-%m-%d")
print ' UTC Date & Time: ', UTC_time
time1 = d[0][4]
date1 = d[0][5]
mytime = time1, date1
time_difference = datetime.datetime.utcnow() - mytime
print "HELLO", time_difference
但我一直收到错误: TypeError:不支持的操作数类型 - :'datetime.datetime'和'tuple'
不确定我做错了什么......
答案 0 :(得分:0)
您的mytime
变量不是datetime.datetime对象,不能用于对其进行操作。而不是mytime = time1, date1
你正在寻找更多符合
my_date_str = "{} {}".format(time1, date1)
mytime = datetime.datetime.strptime(my_date_str, "%H:%M:%S %Y-%m-%d")
请注意,尽管使用utcnow()
生成的datetime.datetime对象不是时区识别的,但mytime
也不是。{1}}。因此,两者之间的任何数学运算都是纯时钟数学,不考虑时区。