【问题标题】:python - compare the date in the string with today's datepython - 将字符串中的日期与今天的日期进行比较
【发布时间】:2015-11-24 02:21:59
【问题描述】:

目标:

  • 将字符串中的日期与今天的日期进行比较

问题:

  • 得到这个错误:ValueError:未转换的数据仍然存在:12:00:00

问题:

  • 如何修复该错误
  • 如何删除字符串的时间元素?

代码

from datetime import date
from datetime import time
from datetime import datetime

dateTimeStart = "2014-01-01 12:00:00"

def main():
    dateTime1 = datetime.strptime(dateTimeStart, "%Y-%m-%d")
    today = date.today()

    if dateTime1 > "today":
        print "No"

if __name__ == "__main__":
  main();

【问题讨论】:

  • 为什么不在模式中包含时间然后忽略它?或者切片字符串以删除它?还是在空格上拆分字符串?
  • 如果不想计算小时、分钟或秒,则定义 dateTimeStart = "2014-01-01" 和 datetime.strptime(dateTimeStart, "%Y-%m-%d")在没有 ValueError 的情况下工作。您可以使用 dateTimeStart = dateTimeStart.split()[0] 自动进行转换

标签: python string date time compare


【解决方案1】:

你还需要解析时间部分:

datetime.strptime(dateTimeStart, "%Y-%m-%d %H:%M:%S")

然后你可以像这样比较你的日期:

if dateTime1.date() > date.today():
    print "No"

date() 函数返回 datetime 对象的日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 2014-09-09
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多