我从strftime创建了两个值,如下所示
TIMEFORMAT="%Y-%m-%d %H:%M:%S"
time1 = time.strftime(TIMEFORMAT)
time2 = time.strftime(TIMEFORMAT)现在,time1和time 2的值类似于"2013-11-22 04:03:56" "2013-11-22 01:03:56"。
这些值由其他要文件的脚本编写。我正在从文件中读取这些值,然后进行比较。
我想比较一下这样的事情
if time1 > time2:
# do etc. etc. 如何比较这些时代?
发布于 2013-11-22 11:13:50
是的,你可以比较它们。是的,t1 > t2。
In [1]: t1 = "2013-11-22 04:03:56"
In [2]: t2 = "2013-11-22 01:03:56"
In [3]: t1 > t2
Out[3]: True
In [4]: t1 < t2
Out[4]: False
In [5]: t1 == t2
Out[5]: False发布于 2013-11-22 11:25:42
希望这能帮到你:
In [1]: from datetime import datetime, timedelta
In [2]: nd = datetime.now()
In [3]: pd = nd - timedelta(hours=1)
In [4]: snd = nd.strftime("%Y-%m-%d %H:%M:%S")
In [5]: spd = pd.strftime("%Y-%m-%d %H:%M:%S")
In [6]: print(snd, spd)
('2013-11-22 15:21:22', '2013-11-22 14:21:22')
In [7]: datetime.strptime(snd, "%Y-%m-%d %H:%M:%S") > datetime.strptime(spd, "%Y-%m-%d %H:%M:%S")
Out[7]: True发布于 2014-01-22 14:12:47
我在Win-7 PC上使用UNXUTILS中的gawk (gawk)。这个对strftime(.)的回答问题本身提出了一个小小的谜团。我也有类似的问题。在金融市场数据中,我有一个日期-时间字符串($25),作为"03-APR-2006 09:55:25“(so time = substr($25,13,8)),我的目标是统计14:00(下午2点)之后出现的记录(特别是订单取消记录)。
在我的代码中,我有一行内容:
{ if ($3==3) {
{ ++CK_NR}
{ ++CO_NR[$4, substr($25, 1, 11)] }
{ if (strftime(substr($25, 13, 8)) > ("14:00:00"))\
{
{ ++CK_LATE_NR }
{ ++CO_LATE_NR[$4, substr($25, 1, 11)] }
}
}
}
}刚刚意识到我使用的不等式-- if (strftime(substr($25,13,8)) >(“14:00:00”) --在RHS中只有一个字符串,和我没有让这个字符串成为另一个strftime(.)的参数。令人费解的是,它并没有给我一个错误。
我担心的是,虽然它没有生成任何错误,而且代码已经运行,但它可能给了我的不是我想要的代码。在命令提示符窗口中,执行
\>gawk "{ print (strftime(\"09:55:25\") > (\"14:00:00\")) }"产生"0“和
\>gawk "{ print (strftime(\"09:55:25\") < (\"14:00:00\")) }"会产生"1“。GNU手册(http://www.gnu.org/software/gawk/manual/gawk.html#Time-Functions)很少提供有意义的比较所需的信息。刚才试着从LHS中删除"strftime“,如下所示
\>gawk "{ print ((\"09:55:25\") > (\"14:00:00\")) }"和
\>gawk "{ print ((\"09:55:25\") > (\"14:00:00\")) }"得到了同样的结果。所以,当我把这个作为候选的“答案”提供给时,我想确定我得到的是正确的正误结果,因为GAWK是在比较时间,而不是它在进行字符串比较时使用的其他内部规则(导致有限的测试只是巧合)。能解决这个难题吗?谢谢。最好的
穆基
https://stackoverflow.com/questions/20143456
复制相似问题