Python的日期与字符串输出的比较/格式

问题描述:

我目前正在尝试编写一个脚本来自动化一个函数的工作,但我并不熟悉Python。我正在尝试使用XML转储并比较特定条目的日期以查看时间是否已过。Python的日期与字符串输出的比较/格式

的日期是在一个特定的格式,给定:

<3-letter Month> <DD> <HH:MM:SS> <YYYY> <3-letter Timezone> 

例如:

May 14 20:11:20 2014 GMT 

我已经分析出在原始形式的字符串,并需要以某种方式将其与比较确定时间是否已经过去的当前时间。也就是说,我在计算如何格式化文本或在Python中选择正确的掩码/时间格式方面遇到了一些麻烦。

我一直插科打诨与相同的基本格式的不同变化:

if(trimmed < time.strftime("%x")): 

修剪是干净的日期/时间字符串。时间源自导入时间

是否有一个简单的方法来解决这个问题,或者我将不得不挖掘转换格式等?我知道上面的尝试很简单,但我仍然对Python很陌生。感谢您的时间和耐心!

+0

什么是'trimmed'?如果(看起来)“时间”有一个实际的时间值,为什么不从你分析过的时间值中做出一个时间值,并与“时间”进行比较? –

+0

对不起!修剪是标签*格式的日期/时间条目。时间直接来自标准库时间。我会相应地编辑。 –

您应该使用gmtime(GMT时间),mktime和datetime的组合。

from time import gmtime,mktime 
from datetime import datetime 

s = "May 14 20:11:20 2014 GMT" 
f = "%b %d %H:%M:%S %Y GMT" 
dt = datetime.strptime(s, f) 
gmt = datetime.fromtimestamp(mktime(gmtime())) 
if dt<gmt: 
    print(dt) 
else: 
    print(gmt) 
+0

您可以使用%Z而不是'GMT'来获得更大的灵活性 –

+0

为了说明,dt是新格式化的日期时间字符串,gmt是从epoch到dt的相对时间 - 对吗? –

+0

我改变了一些表面的东西,我的输出,但非常感谢!它的功能正是我所期待的! –