Skip to main content
 首页 » 编程设计

python之bool 值比较日期时的极其奇怪的行为

2025年05月04日21hnrainll

尝试在 Python 中比较日期时,我注意到一些非常奇怪的行为。我正在尝试使用日期来检查是否将项目添加到 MySQL 数据库(使用 mysqldb 库),并且在比较日期时,我遇到了奇怪的行为:

代码是:

   latestDate = pullDateFromTable() #pull the latest item from the table 
   for transaction in transactions: 
        print "Transaction Time:",transaction.date 
        print "Latest Entry:",latestDate 
        if transaction.date > latestDate: 
            print "Transaction is new, added product" 
            #insert item to MySQL database 
        else: 
            print "Old transaction, did not add product" 

输出是:

Transaction Time: Thu Oct  4 11:42:25 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Old transaction, did not add product 
 
Transaction Time: Wed Oct  3 22:11:48 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 19:32:56 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 17:46:35 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 17:46:35 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 17:46:35 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 16:25:06 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 14:00:48 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 11:46:20 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 11:46:20 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 11:22:37 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 09:05:13 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 09:05:13 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Wed Oct  3 09:05:13 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Tue Oct  2 07:38:25 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Transaction is new, added product 
 
Transaction Time: Mon Oct  1 17:39:52 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Old transaction, did not add product 
 
Transaction Time: Mon Oct  1 15:05:29 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Old transaction, did not add product 
 
Transaction Time: Sun Sep 30 20:56:38 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Old transaction, did not add product 
 
Transaction Time: Sun Sep 30 09:52:09 2012 
Latest Entry: Thu Oct  4 11:42:25 2012 
Old transaction, did not add product 

您会注意到周二或周三(10 月 2 日和 3 日)的日期大于最晚的日期(10 月 4 日),但 9 月或 10 月 1 日的日期小于。

对为什么会这样有任何想法吗?

请您参考如下方法:

您的日期似乎是字符串,并且正在按字母顺序进行比较。 W 在 T 之后。