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很陌生。感谢您的时间和耐心!
您应该使用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)
您可以使用%Z而不是'GMT'来获得更大的灵活性 –
为了说明,dt是新格式化的日期时间字符串,gmt是从epoch到dt的相对时间 - 对吗? –
我改变了一些表面的东西,我的输出,但非常感谢!它的功能正是我所期待的! –
什么是'trimmed'?如果(看起来)“时间”有一个实际的时间值,为什么不从你分析过的时间值中做出一个时间值,并与“时间”进行比较? –
对不起!修剪是标签自由格式的日期/时间条目。时间直接来自标准库时间。我会相应地编辑。 –