【问题标题】:python outlook delete messages greater than 30days oldpython Outlook删除超过30天的邮件
【发布时间】:2018-02-06 05:49:34
【问题描述】:

期望的结果:
我正在尝试查找 Outlook 收件箱中超过 30 天的所有邮件并删除这些邮件。
问题:
问题是,我最终尝试将 timedatetime.datetime 进行比较。于是搜了一下,发现可能需要用到.strptime()。但现在我收到此错误消息:ValueError: time data '12/06/17 16:53:43' does not match format '%m/%d/%Y %H:%M:%S '。我怎样才能得到我正在寻找的结果?有更好的解决方案吗?
这是我的代码:

for folder in default_folders:
    print( "Processing %s" % folder.Name )

    item = folder.Items
    msg = item.GetFirst()
    print type(msg.CreationTime) #this gives 'time' instance
    print msg.CreationTime # prints like: 12/7/17 10:50:05
    recv_time = datetime.strptime(str(msg.CreationTime), "%m/%d/%Y %H:%M:%S").date() # <-- problem
    #datetime.replace(recv_time) i think this should be here
    past30days=datetime.now()-timedelta(days=30) # the date 30 days ago
    if recv_time > past30days: # if the recv_time date is greater than 30 days, do something 
        pass

【问题讨论】:

    标签: python datetime time outlook


    【解决方案1】:

    %Y 更改为%y 格式字符串。 %Y 是四位数的年份 (2018) 而%y 是 2 (18)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多